MyBatis接口方法中可以接收各种各样的参数,MyBatis底层对于这些参数进行了不同的封装处理方式
MyBatis提供了ParamNameResolve类来进行参数封装
单个参数:
POJO类型:直接使用,属性名和参数占位符名称一致
Map集合:直接使用,键名和参数占位符名称一致
Collection:封装为Map集合
map.put("arg0",cllection集合)
map.put("collection",collection集合)
List
map.put("arg0",list集合)
map.put("collection",list集合)
map.put("list",list集合)
Array
map.put("arg0",数组)
map.put("array",数组)
其他类型:直接只用
多个参数:封装为Map集合
使用@Param注解,替换Map集合中默认的agr键名
map.put("arg0",参数值1)
map.put("param1",参数值1)
map.put("param2",参数值2)
map.put("arg1",参数值2)
MyBatis在处理接口方法的参数时有多种封装方式。对于单个参数,如果是POJO或Map,会根据属性名或键名匹配;如果是Collection、List或Array,会被转化为Map并以'arg0'或特定名称作为键。多个参数则会封装成Map,使用@Param注解可自定义键名。了解这些细节有助于更好地使用MyBatis进行参数传递。
2074

被折叠的 条评论
为什么被折叠?



