假设有一个实体类 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