MybatisPlus 条件构造器和常用接口

简介: 条件构造抽象类,最顶端父类

1、wapper介绍

1.png

name explain
Wrapper 条件构造抽象类,最顶端父类
AbstractWrapper 用于查询条件封装,生成 sql 的 where 条件
QueryWrapper 查询条件封装
UpdateWrapper Update 条件封装
AbstractLambdaWrapper 使用Lambda 语法
LambdaQueryWrapper 用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper Lambda 更新封装Wrapper

2、QueryWrapper

查询条件封装

2.1 组装查询条件

2.png上图标红的,是不是我们写SQL语句经常遇见的?

2.2 组装排序条件

3.png

2.3 组装删除条件

4.png
可以看到上图,我明明执行的是删除方法,为什么它执行的是修改方法呢?
这是因为我加了逻辑删除。不清楚的可以看我上一篇文章。
5.png

2.4 条件的优先级

在mybatis -Plus中,lambda表达式内的逻辑优先运算 。

7.png

2.5 组装select子句

8.png

2.6 实现子查询

9.png

3、UpdateWrapper

10.png

4、condition

在真正开发的过程中,组装条件是常见的功能,而这些条件数据来源于用户输入,是可选的,因
此我们在组装这些条件时,必须先判断用户是否选择了这些条件,若选择则需要组装该条件,若
没有选择则一定不能组装,以免影响SQL执行的结果

4.1 思路1

11.png

4.2 思路二

上面的实现方案没有问题,但是代码比较复杂,我们可以使用带condition参数的重载方法构建查询条件,简化代码的编写.

12.png

5、LambdaQueryWrapper

13.png
我们在往构造器里设置参数的时候,有可能会将字段名写错,这个时候就可以用到LambdaQueryWrapper和LambdaUpdateWrapper了。
14.png

6、LambdaUpdateWrapper

15.png

好了,今天mybatis Plus 条件构造器 就介绍到这里,两个字总结一下,真香!

相关文章
|
2月前
|
XML Java 数据库连接
MyBatis中的接口代理机制及其使用
【8月更文挑战第5天】MyBatis的接口代理机制是其核心功能之一,允许通过定义接口并在运行时生成代理对象来操作数据库。开发者声明一个带有`@Mapper`注解的接口,MyBatis则依据接口方法、映射配置(XML或注解)及数据库信息动态生成代理类。此机制分为四步:创建接口、配置映射文件或使用注解、最后在业务逻辑中注入并使用代理对象。这种方式简化了数据库操作,提高了代码的可读性和可维护性。例如,在电商系统中可通过`OrderMapper`处理订单数据,在社交应用中利用`MessageMapper`管理消息,实现高效且清晰的数据库交互。
|
3月前
|
Java 数据库连接 Maven
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
文本,使用SpringBoot工程创建一个Mybatis-plus项目,Mybatis-plus在编写数据层接口,用extends BaseMapper<User>继承实体类
MybatisPlus--IService接口基本用法,MP提供了Service接口,save(T) 这里的意思是新增了一个T, saveBatch 是批量新增的意思,saveOrUpdate是增或改
MybatisPlus--IService接口基本用法,MP提供了Service接口,save(T) 这里的意思是新增了一个T, saveBatch 是批量新增的意思,saveOrUpdate是增或改
|
3月前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
接口模板,文本常用的接口Controller层,常用的controller层模板,Mybatisplus的相关配置
接口模板,文本常用的接口Controller层,常用的controller层模板,Mybatisplus的相关配置
|
4月前
|
存储 Java 数据库连接
SSMP整合案例第三步 业务层service开发及基于Mybatis的接口功能拓展
SSMP整合案例第三步 业务层service开发及基于Mybatis的接口功能拓展
27 0
|
5月前
|
SQL
【MybatisPlus】条件构造器、自定义SQL、Service接口
【MybatisPlus】条件构造器、自定义SQL、Service接口
87 0
【MybatisPlus】条件构造器、自定义SQL、Service接口
|
5月前
|
SQL Java 数据库连接
MyBatis之魂:探索核心接口SqlSession的神秘力量
MyBatis之魂:探索核心接口SqlSession的神秘力量
58 3
MyBatis之魂:探索核心接口SqlSession的神秘力量
|
5月前
|
存储 缓存 Java
探秘MyBatis缓存原理:Cache接口与实现类源码分析
探秘MyBatis缓存原理:Cache接口与实现类源码分析
83 2
探秘MyBatis缓存原理:Cache接口与实现类源码分析
|
5月前
|
Java 数据库连接 数据库
spring+mybatis_编写一个简单的增删改查接口
spring+mybatis_编写一个简单的增删改查接口
48 2