温馨提示×

Mybatis多参数接口设计思路

小樊
83
2024-07-12 10:43:30
栏目: 编程语言

在 MyBatis 中,可以通过两种方式来传递多个参数:

  1. 使用 Map 类型作为参数:将多个参数封装到一个 Map 中,然后将该 Map 作为接口方法的参数传入。在 SQL 语句中可以通过 Map 的 key 来获取对应的参数值。
public interface UserMapper {
    List<User> selectUserByParams(Map<String, Object> params);
}

在 XML 文件中可以这样使用:

<select id="selectUserByParams" resultType="User">
    SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>

调用接口方法时,传入多个参数:

Map<String, Object> params = new HashMap<>();
params.put("name", "Alice");
params.put("age", 25);

List<User> users = userMapper.selectUserByParams(params);
  1. 使用 @Param 注解:在接口方法中使用 @Param 注解指定参数的名称,然后在 XML 文件中使用该名称来引用对应的参数。
public interface UserMapper {
    List<User> selectUserByParams(@Param("name") String name, @Param("age") int age);
}

在 XML 文件中可以这样使用:

<select id="selectUserByParams" resultType="User">
    SELECT * FROM user WHERE name = #{name} AND age = #{age}
</select>

调用接口方法时,传入多个参数:

List<User> users = userMapper.selectUserByParams("Alice", 25);

以上是两种常用的传递多个参数的方式,可以根据实际情况选择使用哪一种方式来设计接口。

0