温馨提示×

Mybatis多参数传递的正确姿势

小樊
87
2024-07-12 10:32:35
栏目: 编程语言

在MyBatis中,可以使用Map或者注解的方式来传递多个参数。

使用Map的方式:

  1. 在Mapper接口中定义方法,参数为Map。
public List<User> getUsers(Map<String, Object> params);
  1. 在Mapper.xml中使用参数。
<select id="getUsers" parameterType="java.util.Map" resultType="User">
    SELECT * FROM user WHERE id = #{userId} AND name = #{userName}
</select>
  1. 在调用的时候,将多个参数封装成Map。
Map<String, Object> params = new HashMap<>();
params.put("userId", 1);
params.put("userName", "Alice");
List<User> users = userMapper.getUsers(params);

使用注解的方式:

  1. 在Mapper接口中定义方法,使用@Param注解来标记参数。
public List<User> getUsers(@Param("userId") Integer userId, @Param("userName") String userName);
  1. 在Mapper.xml中使用参数。
<select id="getUsers" resultType="User">
    SELECT * FROM user WHERE id = #{userId} AND name = #{userName}
</select>
  1. 在调用的时候,直接传递多个参数。
List<User> users = userMapper.getUsers(1, "Alice");

这两种方式都可以实现多个参数的传递,选择其中一种方式来使用即可。

0