当前位置:   article > 正文

Mybatis-plus 动态条件查询QueryWrapper的使用_querywrapper 随机查询

querywrapper 随机查询

目录

        一、queryWrapper介绍

        二、queryWrapper示例

        1.案例一:根据输入标签,查看多个标签都存在才能搜索出来


一、queryWrapper介绍

queryWrapper是mybatis plus中实现查询的对象封装操作类,可以封装sql对象,包括where条件,order by排序,select哪些字段等等;
QueryWrapper:Entity对象封装操作类,不是用lambda;

  1. queryWrapper.lt()——小于
  2. queryWrapper.le()——小于等于
  3. queryWrapper.gt()——大于
  4. queryWrapper.ge()——大于等于
  5. queryWrapper.eq()——等于
  6. queryWrapper.ne()——不等于
  7. queryWrapper.betweeen(“age”,10,20)——age在值1020之间
  8. queryWrapper.notBetweeen(“age”,10,20)——age不在值1020之间
  9. queryWrapper.like(“属性”,“值”)——模糊查询匹配值‘%值%’
  10. queryWrapper.notLike(“属性”,“值”)——模糊查询不匹配值‘%值%’
  11. queryWrapper.likeLeft(“属性”,“值”)——模糊查询匹配最后一位值‘%值’
  12. queryWrapper.likeRight(“属性”,“值”)——模糊查询匹配第一位值‘值%’
  13. queryWrapper.isNull()——值为空或null
  14. queryWrapper.isNotNull()——值不为空或null
  15. queryWrapper.in(“属性”,条件,条件 )——符合多个条件的值
  16. queryWrapper.notIn(“属性”,条件,条件 )——不符合多个条件的值
  17. queryWrapper.or()——或者
  18. queryWrapper.and()——和
  19. queryWrapper.orderByAsc(“属性”)——根据属性升序排序
  20. queryWrapper.orderByDesc(“属性”)——根据属性降序排序
  21. queryWrapper.inSql(“sql语句”)——符合sql语句的值
  22. queryWrapper.notSql(“sql语句”)——不符合SQL语句的值
  23. queryWrapper.esists(“SQL语句”)——查询符合SQL语句的值
  24. queryWrapper.notEsists(“SQL语句”)——查询不符合SQL语句的值

二、queryWrapper示例

1.案例一:根据输入标签,查看多个标签都存在才能搜索出来

sql实现:

SELECT * FROM user WHERE isDelete=0 AND (tags LIKE ? AND tags LIKE ?)

queryWrapper实现:

  1. /**
  2. * 根据标签搜索用户。
  3. * @param tagNameList 用户要搜索的标签
  4. * @return
  5. */
  6. @Override
  7. public List<User> searchUsersByTags(List<String> tagNameList){
  8. if (CollectionUtils.isEmpty(tagNameList)){
  9. throw new BusinessException(ErrorCode.PARAMS_ERROR);
  10. }
  11. QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  12. //拼接tag
  13. // like '%Java%' and like '%Python%'
  14. for (String tagList : tagNameList) {
  15. queryWrapper = queryWrapper.like("tags", tagList);
  16. }
  17. List<User> userList = userMapper.selectList(queryWrapper);
  18. return userList.stream().map(this::getSafetyUser).collect(Collectors.toList());
  19. }

个人理解:

queryWrapper就是一个实现查询的对象封装操作类。

创建该对象,对该对象进行操作,最后使用该对象进行一个查询

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/158368
推荐阅读
相关标签
  

闽ICP备14008679号