mapper传递多个查询参数

251 阅读1分钟

优先使用最常用的 Bean传参法 ,也就是 parameterType 为一个对象实体类。

 

 

另外还可以用的方法有 @Param注解传参法 以及 Map传参法

 

一、@Param注解传参法

第1处

controller和service中在参数列表里正常增加参数

 

第2处

Dao接口方法,在方法参数前加上 @Param,在mapper配置文件中就可以直接使用新的命名

int cancelById(@Param("aaa") Long id, @Param("bbb") Integer statue);

 

第3处

mapper文件:

  <update id="cancelById" >
    update 
    set statue = #{bbb}
    where id = #{aaa}
  </update>

注意,如果之前写了 parameterType一定要记得删掉!,不需要写这一项

 

 

二、Map传参法

第1处

controller、service、dao中在参数列表里正常设置一个HashMap对象,其中put了多个参数。

 

第2处

mapper文件:

  <update id="queryFuzzy"  parameterType="java.util.Map" >
    update 
    set statue = #{new_statue}
    where id = #{id}
  </update>

#{}里面的名称对应的是Map里面的key名称。