溫馨提示×

mybatis怎么接收多個參數(shù)

小億
104
2023-12-15 23:39:31
欄目: 編程語言

MyBatis可以通過兩種方式接收多個參數(shù):

  1. 使用@Param注解:在Mapper接口中的方法參數(shù)前添加@Param注解,指定參數(shù)的名稱,然后在SQL語句中通過參數(shù)名來引用這些參數(shù)。
public interface MyMapper {
    List<User> getUsers(@Param("name") String name, @Param("age") int age);
}
<select id="getUsers" resultType="User">
    SELECT * FROM users
    WHERE name = #{name}
    AND age = #{age}
</select>
  1. 使用Map或者JavaBean:可以將多個參數(shù)封裝為一個Map或者JavaBean對象,然后將該對象作為方法的參數(shù)傳遞給Mapper接口。
public interface MyMapper {
    List<User> getUsers(Map<String, Object> params);
}
<select id="getUsers" resultType="User">
    SELECT * FROM users
    WHERE name = #{name}
    AND age = #{age}
</select>

使用示例:

Map<String, Object> params = new HashMap<>();
params.put("name", "John");
params.put("age", 30);
List<User> users = myMapper.getUsers(params);

或者:

public class UserParams {
    private String name;
    private int age;
    
    // getters and setters
}

UserParams params = new UserParams();
params.setName("John");
params.setAge(30);
List<User> users = myMapper.getUsers(params);

無論使用哪種方式,MyBatis都會根據(jù)參數(shù)的名稱或者屬性名來匹配SQL語句中的參數(shù)。

0