方法名中有多个参数
map方式
当多个变量传入时候,设置入参为map类型,本质上map存储了入参的键值对
- 优点:几乎使用所有场景
- 缺点:业务性质太差,可读性太差,必须要依赖于接口才能明白入参
<select id="getRolesByMap" parameterType="map" resultType="priv.dengjl.ns.day0001.bean.Role">
select id, name, `desc` from Role where id = #{id} and name = #{name}
</select>
接口声明
List<Role> getRolesByMap(Map parameterMap);
注解@Param方式
用法
使用@Param方式,显示指出关键字,如果@Param(“key_id”) int id,中,key_id表示id
<select id="getRolesByParam" resultType="priv.dengjl.ns.day0001.bean.Role">
select id, name, `desc` from Role where id = #{key_id} and name = #{key_name}
</select>
接口声明
List<Role> getRolesByParam(@Param("key_id") int id, @Param("key_name") String name);
java bean方式
定义一个bean存储变量值
<select id="getRolesByBean" parameterType="priv.dengjl.ns.day0001.bean.Role" resultType="priv.dengjl.ns.day0001.bean.Role">
select id, name, `desc` from Role where id = #{id} and name = #{name}
</select>
接口声明
List<Role> getRolesByBean(Role role);