怎么使用mapper传递多个参数

avatar
作者
猴君
阅读量:6

使用Mapper传递多个参数可以通过以下两种方式实现:

  1. 使用Map类型作为参数

在Mapper接口方法中,使用Map类型作为参数,将需要传递的多个参数以键值对的形式放入Map中,然后在SQL语句中使用#{key}的方式引用参数。

示例:

// Mapper接口 public interface UserMapper { List<User> getUserList(Map<String, Object> params); } // Mapper XML文件 <select id="getUserList" parameterType="java.util.Map" resultType="User"> SELECT * FROM user WHERE age = #{age} AND gender = #{gender} </select> // 调用Mapper方法 Map<String, Object> params = new HashMap<>(); params.put("age", 20); params.put("gender", "男"); List<User> userList = userMapper.getUserList(params); 
  1. 使用多个参数

在Mapper接口方法中,使用@Param注解给每个参数起一个名称,在SQL语句中使用#{名称}的方式引用参数。

示例:

// Mapper接口 public interface UserMapper { List<User> getUserList(@Param("age") int age, @Param("gender") String gender); } // Mapper XML文件 <select id="getUserList" resultType="User"> SELECT * FROM user WHERE age = #{age} AND gender = #{gender} </select> // 调用Mapper方法 List<User> userList = userMapper.getUserList(20, "男"); 

注意:在使用多个参数时,需要确保参数的顺序和@Param注解的名称一致,否则可能会出现参数传递错误的情况。使用Map类型作为参数则没有这个问题,但是需要在Map中明确指定参数名称。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!