以下文章主要介绍 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的使用




Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐