赞
踩
目录
queryWrapper是mybatis plus中实现查询的对象封装操作类,可以封装sql对象,包括where条件,order by排序,select哪些字段等等;
QueryWrapper:Entity对象封装操作类,不是用lambda;
- queryWrapper.lt()——小于
- queryWrapper.le()——小于等于
- queryWrapper.gt()——大于
- queryWrapper.ge()——大于等于
- queryWrapper.eq()——等于
- queryWrapper.ne()——不等于
- queryWrapper.betweeen(“age”,10,20)——age在值10到20之间
- queryWrapper.notBetweeen(“age”,10,20)——age不在值10到20之间
- queryWrapper.like(“属性”,“值”)——模糊查询匹配值‘%值%’
- queryWrapper.notLike(“属性”,“值”)——模糊查询不匹配值‘%值%’
- queryWrapper.likeLeft(“属性”,“值”)——模糊查询匹配最后一位值‘%值’
- queryWrapper.likeRight(“属性”,“值”)——模糊查询匹配第一位值‘值%’
- queryWrapper.isNull()——值为空或null
- queryWrapper.isNotNull()——值不为空或null
- queryWrapper.in(“属性”,条件,条件 )——符合多个条件的值
- queryWrapper.notIn(“属性”,条件,条件 )——不符合多个条件的值
- queryWrapper.or()——或者
- queryWrapper.and()——和
- queryWrapper.orderByAsc(“属性”)——根据属性升序排序
- queryWrapper.orderByDesc(“属性”)——根据属性降序排序
- queryWrapper.inSql(“sql语句”)——符合sql语句的值
- queryWrapper.notSql(“sql语句”)——不符合SQL语句的值
- queryWrapper.esists(“SQL语句”)——查询符合SQL语句的值
- queryWrapper.notEsists(“SQL语句”)——查询不符合SQL语句的值
sql实现:
SELECT * FROM user WHERE isDelete=0 AND (tags LIKE ? AND tags LIKE ?)
queryWrapper实现:
- /**
- * 根据标签搜索用户。
- * @param tagNameList 用户要搜索的标签
- * @return
- */
- @Override
- public List<User> searchUsersByTags(List<String> tagNameList){
- if (CollectionUtils.isEmpty(tagNameList)){
- throw new BusinessException(ErrorCode.PARAMS_ERROR);
- }
- QueryWrapper<User> queryWrapper = new QueryWrapper<>();
- //拼接tag
- // like '%Java%' and like '%Python%'
- for (String tagList : tagNameList) {
- queryWrapper = queryWrapper.like("tags", tagList);
- }
- List<User> userList = userMapper.selectList(queryWrapper);
- return userList.stream().map(this::getSafetyUser).collect(Collectors.toList());
- }
个人理解:
queryWrapper就是一个实现查询的对象封装操作类。
创建该对象,对该对象进行操作,最后使用该对象进行一个查询
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。