目录
一.参数传递
MyBatis 接口方法中可以接收各种各样的参数,MyBatis底层对于这些参数进行不同的封装处理方式。
MyBatis提供了ParamNameResolver 类来进行参数封装 。
1.单个参数:
1. POJ0类型:直按使用,属性名和参数占位符名称一致
2. Map集合:直按使用,键名和参数占位符名称一划|
3. Collection:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
map.put("arg0",collection集合)
map.put("collection",collection集合)
4. List:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
map.put("arg0",list集合)
map.put("collection",list集合)
map.put("list",list集合)5. Array:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
map.put("arg0",数组)
map.put("array",数组)
6.其他类型:直接使用
2.多个参数:封装为Map集合,
默认的:
map.put("arg0",参数值1)
map.put("agr1",参数值2)map.put("param1",参数值1)
map.put("param2",参数值2)可以使用@Param注解,替换Map集合中默认的arg键名
3.总结:
使用@Param注解来修改Map集合中默认的键名,并使用修改后的名称来获取值,提高可读性。
二.注解开发
比配置文件开发更加方便。
1.形式:
@Select("select * from student where id = #{id}")
public User selectByld(int id);
2.注解:
查询:@Select
添加:@lnsert
修改:@Update
删除:@Delete
3.提示:
注解完成简单功能,
配置文件完成复杂功能