mybatis如何给xml映射文件的接口传递多个参数

分类:计算机 | 数据库 | Mybatis | 综合 1218
更新:2020-12-30 09:31:48
编辑

转载地址

https://blog.csdn.net/dengjili/article/details/83386612

1 map方式

当多个变量传入时候,设置入参为map类型,本质上map存储了入参的键值对。

  1. 优点:几乎使用所有场景
  2. 缺点:业务性质太差,可读性太差,必须要依赖于接口才能明白入参
    <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);

2 注解@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);

3 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);