使用mybatis-plus的条件构造器queryWrapper查询指定字段

本文介绍了MyBatisPlus的条件构造器QueryWrapper如何便捷地指定查询字段,避免全字段查询。通过示例展示了如何排除特定字段、按需选择字段以及设置各种查询条件,如不等于、等于、排序等。同时,文中提到StringUtils.isNotBlank()方法用于判断参数是否为空,并在条件成立时执行相应查询。这些技巧有助于提高查询效率和代码的可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值