mybatis plus强大的条件构造器queryWrapper,使用十分方便
但是其select查询语句默认是查全部字段,有时候项目需要查询某些字段,或者不查询某些字段,下面方法可以指定要查询的字段

		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		//下面这句是不查position这个字段
        queryWrapper.select(User.class,item -> !item .getColumn().equals("position"));
        //下面这句是查询position不为管理员且状态为1的用户
        queryWrapper.select("position").notLike("position","管理员").eq("state",1);
		//下面这句是查询指定字段,但是姓名中带“猛”的用户
		queryWrapper.select("name", "age","position").like("name", "猛");
		//下面这句是查询状态为R8,安全等级为2或者为9的人员信息
		queryWrapper.eq("state","R8").eq("safety_level","2")
                    .or(qw ->qw.eq("state","R8").eq("safety_level","9"));
                    
		//根据条件查询
		queryWrapper.eq(StringUtils.isNotBlank(dailyViolations.getName()), "name", dailyViolations.getName());
		queryWrapper.ge(StringUtils.isNotBlank(startTime), "time", startTime);
        queryWrapper.le(StringUtils.isNotBlank(endTime), "time", endTime);
		//下面是排序
		queryWrapper.orderByAsc("state");
        queryWrapper.orderByDesc("time");

上述的StringUtils.isNotBlank()方法是判断传入的值是否为空,为空返回false,此句不执行,不为空,返回true,此句执行,需注意引包为:

import org.apache.commons.lang.StringUtils;

简单记录下,目前项目就常用这些,一些只用一两次的也没放进来,更多方法,可自行尝试。
原创记录,转载请注明出处!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐