LambdaQueryWrapper构建查询条件

小灰灰 2024-04-08 08:57 200阅读 0赞

以下文章主要介绍 LambdaQueryWrapper构建查询条件、模糊查询、范围查询、排序

一、LambdaQueryWrapper是什么?

LambdaQueryWrapper是mybatis plus中的一个条件构造器对象,只是是需要使用Lambda 语法使用 Wrapper

二、代码

  1. public Page<Merchants> shopList(Query info) {
  2. LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
  3. //单字段查询
  4. queryWrapper.eq(User::getState, 0);
  5. queryWrapper.eq(User::getSmsType, 1);
  6. //不等于
  7. queryWrapper.ne(User::getDietTypeId,0);
  8. // 模糊搜索条件
  9. if (StringUtils.notEmpty(info.getKeyword())) {
  10. queryWrapper.and(c -> c.like(User::getMallName, info.getKeyword())
  11. .or().like(User::getOwnerId, info.getKeyword())
  12. .or().like(User::getOwnerName, info.getKeyword()));
  13. }
  14. // 时间范围查询
  15. if (StringUtils.notEmpty(info.getCreateTimeStart()) && StringUtils.notEmpty(info.getCreateTimeEnd())) {
  16. queryWrapper.ge(User::getCreateTime, info.getCreateTimeStart());
  17. queryWrapper.le(User::getCreateTime, info.getCreateTimeEnd());
  18. }
  19. // 不为空
  20. queryWrapper.isNotNull(User::getStartTime);
  21. // 排序条件
  22. if (StringUtils.notEmpty(info.getSort()) && StringUtils.notEmpty(info.getOrder())) {
  23. // sort ---> "create_time" , order -> desc,asc
  24. queryWrapper.last(" order by ".concat(info.getSort()).concat(" ").concat(info.getOrder()));
  25. }
  26. // 排序(另一种写法)
  27. if (Func.isEmpty(req.getSortType()) || req.getSortType() == 0) {
  28. queryWrapper.orderByDesc(User::getTestTime);
  29. } else {
  30. queryWrapper.orderByAsc(User::getTestTime);
  31. }
  32. //limit
  33. queryWrapper.last(" limit 1");
  34. return merchantService.page(new Page<>(info.getPage(), info.getSize()), queryWrapper);
  35. }
  36. setSqlSelect 设置 SELECT 查询字段
  37. where WHERE 语句,拼接 + WHERE 条件
  38. and AND 语句,拼接 + AND 字段=值
  39. and New AND 语句,拼接 + AND (字段=值)
  40. or OR 语句,拼接 + OR 字段=值
  41. orNew OR 语句,拼接 + OR (字段=值)
  42. eq 等于=
  43. allEq 基于 map 内容等于=
  44. ne 不等于<>
  45. gt 大于>
  46. ge 大于等于>=
  47. lt 小于<
  48. le 小于等于<=
  49. like 模糊查询 LIKE
  50. notLike 模糊查询 NOT LIKE
  51. in IN 查询
  52. notIn NOT IN 查询
  53. isNull NULL 值查询
  54. isNotNull IS NOT NULL
  55. groupBy 分组 GROUP BY
  56. having HAVING 关键词
  57. orderBy 排序 ORDER BY
  58. orderAsc ASC 排序 ORDER BY
  59. orderDesc DESC 排序 ORDER BY
  60. exists EXISTS 条件语句
  61. notExists NOT EXISTS 条件语句
  62. between BETWEEN 条件语句
  63. notBetween NOT BETWEEN 条件语句
  64. addFilter 自由拼接 SQL
  65. last 拼接在最后,例如:last(“LIMIT 1”)```
  66. # 总结
  67. 例如:以上就是今天要讲的内容,本文仅仅简单介绍了LambdaQueryWrapper的使用

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读