MyBatis-Plus 提供了一个名为 QueryWrapper 的工具类,用于构建条件查询的条件封装。通过 QueryWrapper,可以方便地构建简单的查询条件。以下是使用 QueryWrapper 进行简单查询的示例:

假设有一个实体类 User:
public class User {
    private Long id;
    private String name;
    private Integer age;

    // Getter 和 Setter 方法省略...
}

1. 使用 QueryWrapper 进行等值查询:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,eq("age", 25) 表示查询年龄等于 25 的记录。

2. 使用 QueryWrapper 进行模糊查询:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "John");

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,like("name", "John") 表示查询名字包含 "John" 的记录。

3. 使用 QueryWrapper 进行范围查询:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.between("age", 20, 30);

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,between("age", 20, 30) 表示查询年龄在 20 到 30 之间的记录。

4. 使用 QueryWrapper 进行排序:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("age");

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,orderByDesc("age") 表示按照年龄降序排序。

5. 使用 QueryWrapper 进行多条件组合查询:
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25)
            .like("name", "John")
            .between("create_time", "2022-01-01", "2022-12-31");

List<User> userList = userMapper.selectList(queryWrapper);

在上述示例中,通过链式调用可以组合多个条件,实现更复杂的查询。

QueryWrapper 还提供了其他丰富的查询条件和操作,可以根据实际需求选择使用。这个工具类是 MyBatis-Plus 提供的便捷查询条件构建工具,能够帮助开发者在不编写复杂 SQL 的情况下完成常见的数据库查询。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7050/MyBatis