【Mybatis-Plus】条件参数查询手册

【引言】

使用mybatis-plus框架的基础上,直接使用其中的条件参数进行查询还是很方便的。但每次使用到像大于、不等于这样一些不常用条件时,都需要现查,所以记录在这篇博客里,当作一个自己的查询手册。

【手册】

查询方式 说明
select 设置查询字段
and AND 语句,拼接 + AND (字段=值)
or OR 语句,拼接 + OR (字段=值)
eq 等于=
allEq 基于 map 内容等于=
ne 不等于<>
gt 大于>
ge 大于等于>=
lt 小于<
le 小于等于<=
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 条件语句
last 拼接在最后,例如:last(“LIMIT 1”)

【示例】

之前《Mybatis-Plus 3.X 条件查询》博客中,也写过一些查询的使用,下面总结几个其中没有提到的,使用的mybatis-plus版本是3.1.1。

  • select查询指定字段

代码使用:

//查询作者和编码字段,返回Article中其他字段的值均为null
public Article searchOne(Integer id) {
    LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(Article::getAuthor,Article::getCode).eq(Article::getId,id); return articleMapper.selectOne(queryWrapper); }

sql打印:
【Mybatis-Plus】条件参数查询手册_第1张图片

  • and和or:并且或者条件

代码使用:

public List
searchMore(String keywords) { LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Article::getCatId,10); queryWrapper.and(x->x.like(Article::getKeywords,keywords).or().like(Article::getTitle,keywords)); return articleMapper.selectList(queryWrapper); }

sql打印:
在这里插入图片描述

  • ge:大于等于条件

代码使用:

//查询条件:访问量大于等于100
public List
searchByCondition() { LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); //大于等于 queryWrapper.ge(Article::getVisits,100); //查询指定字段 queryWrapper.select(Article::getAuthor,Article::getCode,Article::getTitle,Article::getVisits); return articleMapper.selectList(queryWrapper); }

sql打印:
【Mybatis-Plus】条件参数查询手册_第2张图片

  • in:批量条件

代码使用:

//栏目Id属于10和20的
public List
searchByCondition() { LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); //in Long[] catId = {10L,20L}; List catList = Arrays.asList(catId); queryWrapper.in(Article::getCatId,catList); //查询指定字段 queryWrapper.select(Article::getAuthor,Article::getCode,Article::getTitle,Article::getVisits); return articleMapper.selectList(queryWrapper); }

sql打印:
【Mybatis-Plus】条件参数查询手册_第3张图片

  • between:范围条件

代码使用:

//查询发布时间在2020-05-01至2020-06-25
public List
searchByCondition() { LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); //between queryWrapper.between(Article::getPublishTime, LocalDate.of(2020,5,1),LocalDate.now().plusMonths(1)); //查询指定字段 queryWrapper.select(Article::getAuthor,Article::getCode,Article::getTitle,Article::getVisits); return articleMapper.selectList(queryWrapper); }

sql打印:
【Mybatis-Plus】条件参数查询手册_第4张图片

  • order:排序条件

代码使用:

//查询指定栏目下所有,并按访问量和创建时间排序
public List
searchByCondition() { LambdaQueryWrapper
queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Article::getCatId,20); //查询指定字段 queryWrapper.select(Article::getAuthor,Article::getCode,Article::getTitle,Article::getVisits); //按访问量和创建时间排序 queryWrapper.orderByDesc(Article::getVisits).orderByAsc(Article::getCreateTime); return articleMapper.selectList(queryWrapper); }

sql打印:
【Mybatis-Plus】条件参数查询手册_第5张图片

你可能感兴趣的:(【架构设计】,#,mybatis-plus,条件参数)