基本结构
1 |
|
查询标签
1 | <!-- |
关于多个参数时报错
单个参数:mybatis不会做特殊处理,
  #{参数名/任意名}:取出参数值。
多个参数:mybatis会做特殊处理。
  多个参数会被封装成 一个map,
  key:param1...paramN,或者参数的索引也可以
   value:传入的参数值
  #{}就是从map中获取指定的key的值;
异常:org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [1, 0, param1, param2]
  操作:
   方法:public Student getEmpByIdAndLastName(Integer id,String name);
   取值:#{id},#{name}
【命名参数】:明确指定封装参数时map的key;@Param(“id”)
多个参数会被封装成 一个map。
   key:使用@Param注解指定的值
   value:参数值
  #{指定的key}取出对应的参数值
解决方案
POJO:
如果多个参数正好是我们业务逻辑的数据模型,我们就可以直接传入pojo
  #{属性名}:取出传入的pojo的属性值
Map:
如果多个参数不是业务模型中的数据,没有对应的pojo,不经常使用,为了方便,我们也可以传入map
  #{key}:取出map中对应的值
TO:
如果多个参数不是业务模型中的数据,但是经常要使用,推荐来编写一个TO(Transfer Object)数据传输对象
Page{
int index;
int size;
}
更新标签
1 | <!-- public void updateStudent(Integer id,String Name,String sex); |
添加标签
1 | <!-- public void addStudent(Student student); --> |
删除标签
1 | <!-- public void deleteStudent(Integer id); --> |
简单的映射文件演示
1 |
|