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

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

被折叠的 条评论
为什么被折叠?



