mybatis 查询Select 用对象传递参数到where筛选
在 MyBatis 中,可以使用对象来传递参数到 @Select 注解中的 WHERE 子句进行筛选。
首先,定义一个包含需要筛选条件的属性的对象。例如,假设有一个 User 对象,其中包含 id、name 和 age 这三个属性。
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
然后,在接口中使用 @Select 注解进行查询,并使用对象作为参数。
@Mapper
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{user.id} AND name = #{user.name} AND age = #{user.age}")
List<User> getUsersByCondition(@Param("user") User user);
}
在上面的示例中,@Select 注解中的 SQL 语句使用了 #{user.id}、#{user.name} 和 #{user.age} 这样的表达式来引用 User 对象中的属性,并通过 @Param 注解指定了参数名为 "user"。
然后,在调用该接口方法时,将 User 对象作为参数传入即可进行筛选。
User user = new User();
user.setId(1L);
user.setName("John");
user.setAge(25);
List<User> result = userMapper.getUsersByCondition(user);
注意,要确保 User 对象中的属性和数据库表中的列名一致,以便 MyBatis 可以正确地进行参数绑定和查询
原文地址: https://www.cveoy.top/t/topic/hJmJ 著作权归作者所有。请勿转载和采集!