阅读量:6
使用Mapper传递多个参数可以通过以下两种方式实现:
- 使用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);
- 使用多个参数
在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中明确指定参数名称。