Mybatis-Plus之LambdaQueryWrapper,Wrappers···

发布时间:2025-05-16 16:46:04 作者:益华网络 来源:undefined 浏览量(2) 点赞(2)
摘要:一、前言 小编今天又来分享干货了,绝对的干净又卫生,大伙请放心食用哈!Mybatis-Plus我们经常使用,但是里面的很多功能,小编开始只是知道一点点,做个增删改查没问题。小编在新项目中发现,大神们不使用QueryWrapper,而是使用LambdaQueryWrapper,于是小编研究了一下,发现真香啊!!赶

一、前言

小编今天又来分享干货了,绝对的干净又卫生,大伙请放心食用哈!Mybatis-Plus我们经常使用,但是里面的很多功能,小编开始只是知道一点点,做个增删改查没问题。小编在新项目中发现,大神们不使用QueryWrapper,而是使用LambdaQueryWrapper,于是小编研究了一下,发现真香啊!!赶紧马不停蹄的写下这篇文章,大家一起进步哈!

二、LambdaQueryWrapper和QueryWrapper优缺点

我们在使用前要思考一下,这个东西和QueryWrapper有啥区别,为啥要用LambdaQueryWrapper呢?

别急,小编来告诉一下,lambda是JDK8的新特性,大家都知道很好用!Mybatis-Plus也想到了,于是LambdaQueryWrapper出来了!

LambdaQueryWrapper优点:以前的QueryWrapper比如一个eq("数据库字段名字","值")​,我们在表字段设计时,很多都是_拼接的,很容易把数据库字段名输入错误!所以我们使用LambdaQueryWrapper,不需要输入数据库字段名字,输入实体类的对应驼峰命名即可!

我们开始进入例子演示哈!

三、引入Maven

com.baomidou

mybatis-plus-boot-starter

3.5.1

</dependency>

四、LambdaQueryWrapper三种写法

为了测试方便,小编直接在controller测试!

@RestController

@RequestMapping("/test")

@Slf4j

@RequiredArgsConstructor

public class TestController {

private final TestService testService;

@NonNull

private TestMapper testMapper;

@GetMapping("/testLambda")

public Result testLambda(){

LambdaQueryWrapper query = new LambdaQueryWrapper<>();

query.select(Test::getName).eq(Test::getId,14);

List tests1 = testMapper.selectList(query);

List tests2 = testMapper.selectList(Wrappers.lambdaQuery().eq(Test::getId,14));

List tests3 = testMapper.selectList(Wrappers.query().lambda().eq(Test::getId,16));

System.out.println(tests1);

System.out.println(tests2);

System.out.println(tests3);

return Result.success("成功");

}

}

五、测试SQL执行展示

我们看到sql都是一样的,所以喜欢那种按自己的习惯吧!

六、LambdaQueryWrapper构造器查询

/**

*附加条件构造器LambdaQueryWrapper常用方法 ---这几个肯定够用了

*/

wrapper.eq("实体类::查询字段", "条件值"); //相当于where条件

wrapper.between("实体类::查询字段", "区间一", "区间二");//相当于范围内使用的between

wrapper.like("实体类::查询字段", "模糊查询的字符"); //模糊查询like

wrapper.groupBy("实体类::查询字段"); //相当于group by分组

wrapper.in("实体类::查询字段", "包括的值,分割"); //相当于in

wrapper.orderByAsc("实体类::查询字段"); //升序

wrapper.orderByDesc("实体类::查询字段");//降序

wrapper.ge("实体类::查询字段", "要比较的值"); //大于等于

wrapper.le("实体类::查询字段", "要比较的值"); //小于等于

七、总结

铛铛铛!测试终于结束,恭喜大家学到新东西,本来会的就赶紧关掉页面!小编灰溜溜的跑路了!总之分享小知识给大家还是挺开心的!

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!