1、传递多个参数时:
例子:
接口方法:
第一个参数使用了注解@Param,第二个参数不使用注解
User select(@Param("uid") String uid, String uname);
xml文件的sql语句:
/* *
* 多个参数
* 封装为Map集合,可以使用注解@Param注解,替换Map集合中默认的arg键名
* 原:
* map.put("arg0",参数值1)
* map.put("arg1",参数值2)
* map.put("param1",参数值1)
* map.put("param2",参数值2)
* 使用@Param("uid")第一个参数
* map.put("uid",参数值1)
* map.put("arg1",参数值2)
* map.put("param1",参数值1)
* map.put("param2",参数值2)
* */
使用方法如下:
<select id="select" resultType="User">
select *
from user
where uid = #{uid} and uname = #{arg1}
或者#{param1} 或者#{param2}
</select>
2、传递单个参数时:
/* *
* 单个参数:
* 1.POJO类:直接使用,属性名 和 参数占位符 一致
* 2.Map集合:直接使用,键名 和 参数占位符 一致
* 3.Collection:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
* map.put("agr0",collection集合);
* map.put("collection",collection集合);
* 4.List:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
* map.put("agr0",list集合);
* map.put("list",list集合);
* 5.Array:封装为Map集合,可以使用@Param注解,替换Map集合中默认的arg键名
* map.put("agr0",数组);
* map.put("array",数组);
* 6.其他类型:直接使用
* */
图例介绍: