MybaitsPlus条件构造器的作用(详解)

mybatisplus框架

mybatis框架减少了我们crud代码的时间,在服务层我们不用在去调用dao层,不用书写sql。直接调用mybatisplus封装好的crud的方法。

具体方法请参考官方文档:
mybatisplus:https://baomidou.com/guide/wrapper.html

条件构造器的使用

条件构造器,顾名思义:构造条件来使用。
所以,当我们调用mybatisplus封装好的方法的时候,传递的参数和预期不符,这时候就会用到条件构造器对数据进行操作,因为insert大概率不会用到条件,都是直接插入,所以这里只对查、删、改进行操作。而删、改本质都是对数据进行修改,所以可以调用同一个方法update(),查询调用lambdaQuery()。
这里可以参考github的mybatisplus的源码mybatis-plus-samples下的mybatis-plus-samples-crud下的SampleTest,里面有具体的增删改查条件构造器的使用案例。
具体示例如下:
在这里插入图片描述

查询:

也可以写成Wrappers.lambdaQuery(参数param): 表示利用条件构造器去查询这个param.
如:有一个stu表
id|name|age|school
1|“张三”| 18 | “一中”
2|“李四”| 19 | “二中”
3|“王五”| 20 | “三中”
User user = new User;

mapper.selectList默认执行 select * from stu

那条件构造器**Wrappers.lambdaQuery(user)**本质就是:
where id = 1 and name=“张三” and age=18 and school=“一中”;

如果还要查询具体的字段的话,Wrappers.lambdaQuery(user).select(User::getname,User::getage)
如果要分组的话:Wrappers.lambdaQuery(user).select(User::getname,User::getage). groupby(具体的字段)

注意
这里括号里的是(User::getname,User::getage)是大写的User。

删除

在这里插入图片描述

同样的,tbAppCancellationFlagService.remove默认执行delete from stu
Wrappers.update(user) 就是where id = 1 and name=“张三” and age=18 and school=“一中”;

修改

同样的,默认执行update stu set id = 8 and name=“老铁” and age=18 and school=“一中”;
Wrappers.update(user) 就是 where where id = 1 and name=“张三” and age=18 and school=“一中”;

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值