在 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 可以正确地进行参数绑定和查询

mybatis 查询Select 用对象传递参数到where筛选

原文地址: https://www.cveoy.top/t/topic/hJmJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录