LambdaQueryWrapper构建查询条件

本文介绍了LambdaQueryWrapper在MybatisPlus中的应用,包括单字段查询、模糊搜索、范围查询、排序和分页操作。通过示例代码展示了如何使用Lambda表达式构建复杂的查询条件,如等值、不等值、模糊、时间范围等查询,并进行了排序和分页设置。

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

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

一、LambdaQueryWrapper是什么?

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

二、代码

public Page<Merchants> shopList(Query info) {
        LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
          //单字段查询
		queryWrapper.eq(User::getState, 0);
		queryWrapper.eq(User::getSmsType, 1);
		//不等于
		queryWrapper.ne(User::getDietTypeId,0);
        // 模糊搜索条件
        if (StringUtils.notEmpty(info.getKeyword())) {
            queryWrapper.and(c -> c.like(User::getMallName, info.getKeyword())
                    .or().like(User::getOwnerId, info.getKeyword())
                    .or().like(User::getOwnerName, info.getKeyword()));
        }
        // 时间范围查询
        if (StringUtils.notEmpty(info.getCreateTimeStart()) && StringUtils.notEmpty(info.getCreateTimeEnd())) {
            queryWrapper.ge(User::getCreateTime, info.getCreateTimeStart());
            queryWrapper.le(User::getCreateTime, info.getCreateTimeEnd());
        }
        // 不为空
            queryWrapper.isNotNull(User::getStartTime);
		// 排序条件
        if (StringUtils.notEmpty(info.getSort()) && StringUtils.notEmpty(info.getOrder())) {
            // sort ---> "create_time" , order -> desc,asc
            queryWrapper.last(" order by ".concat(info.getSort()).concat(" ").concat(info.getOrder()));
        }
         // 排序(另一种写法)
        if (Func.isEmpty(req.getSortType()) || req.getSortType() == 0) {
            queryWrapper.orderByDesc(User::getTestTime);
        } else {
            queryWrapper.orderByAsc(User::getTestTime);
        }
        //limit
        queryWrapper.last(" limit 1");
        return merchantService.page(new Page<>(info.getPage(), info.getSize()), queryWrapper);
    }
setSqlSelect                设置 SELECT 查询字段
where                          WHERE 语句,拼接 + WHERE 条件
and                              AND 语句,拼接 + AND 字段=值
and                              New AND 语句,拼接 + AND (字段=)
or                                 OR 语句,拼接 + OR 字段=值
orNew                          OR 语句,拼接 + OR (字段=)
eq                                等于=
allEq                            基于 map 内容等于=
ne                                不等于<>
gt                                 大于>
ge                                大于等于>=
lt                                  小于<
le                                 小于等于<=
like                              模糊查询 LIKE
notLike                        模糊查询 NOT LIKE
in                                 IN 查询
notIn                            NOT IN 查询
isNull                           NULL 值查询
isNotNull                      IS NOT NULL
groupBy                       分组 GROUP BY
having                          HAVING 关键词
orderBy                        排序 ORDER BY
orderAsc                      ASC 排序 ORDER BY
orderDesc                    DESC 排序 ORDER BY
exists                           EXISTS 条件语句
notExists                      NOT EXISTS 条件语句
between                       BETWEEN 条件语句
notBetween                  NOT BETWEEN 条件语句
addFilter                      自由拼接 SQL
last                              拼接在最后,例如:last(“LIMIT 1)```

# 总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了LambdaQueryWrapper的使用




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值