以下是 QueryWrapper 的一些常用方法和用法:
1. 等值条件
- eq: 等于
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
2. 不等值条件
- ne: 不等于
queryWrapper.ne("age", 25);
3. 模糊查询条件
- like: 模糊查询
queryWrapper.like("name", "John");
- notLike: 不匹配
queryWrapper.notLike("name", "Tom");
4. 范围查询条件
- between: 在范围内
queryWrapper.between("age", 20, 30);
- notBetween: 不在范围内
queryWrapper.notBetween("age", 20, 30);
5. 大小比较条件
- gt: 大于
queryWrapper.gt("age", 25);
- ge: 大于等于
queryWrapper.ge("age", 25);
- lt: 小于
queryWrapper.lt("age", 30);
- le: 小于等于
queryWrapper.le("age", 30);
6. 为空/不为空条件
- isNull: 为空
queryWrapper.isNull("email");
- isNotNull: 不为空
queryWrapper.isNotNull("email");
7. IN 条件
- in: 在给定集合内
queryWrapper.in("age", Arrays.asList(25, 30, 35));
- notIn: 不在给定集合内
queryWrapper.notIn("age", Arrays.asList(18, 40));
8. 排序
- orderByAsc: 升序排序
queryWrapper.orderByAsc("age");
- orderByDesc: 降序排序
queryWrapper.orderByDesc("age");
9. 分组
- groupBy: 按列分组
queryWrapper.groupBy("age");
10. 嵌套条件
QueryWrapper 支持嵌套条件构造,可以通过 nested 方法来构建嵌套条件。
queryWrapper.eq("name", "John")
.nested(i -> i.gt("age", 25).or().lt("age", 20));
这表示查询名字为 "John",且年龄大于 25 或小于 20 的记录。
以上是 QueryWrapper 的一些常见用法,通过这些方法,你可以轻松构建各种灵活的查询条件,而无需编写复杂的 SQL 语句。QueryWrapper 还提供了其他一些方法,如 last 用于追加 SQL 片段、apply 用于根据条件应用 SQL 片段等,具体可查阅 MyBatis-Plus 官方文档。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7053/MyBatis