温馨提示×

怎么使用mapper传递多个参数

小亿
174
2023-10-11 23:43:58
栏目: 编程语言

使用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中明确指定参数名称。

0