mybatisPlus条件构造器体系解读

简介: mybatisPlus条件构造器体系解读

为什么需要条件构造器?

 想要使用MybatisPlus完成条件查询,基于面向对象的思想,万物皆对象,那么查询条件也需要使用对象来完成封装。我们先看一下,在MybatisPlus中,和条件有关的类有哪些,他们之间有什么关系,理清楚了这个,我们在传递条件对象的时候,就很清晰了。

基本介绍

查询mybatisPlus源码可以看到,条件构造器wrapper继承情况:

Wrapper:条件构造器,最顶端的一个类

AbstractWrapper:用于sql语句条件的封装,主要是封装where条件

QueryWrapper:查询条件封装

UpdateWrapper:更新条件封装

AbstractLambdaWrapper:具有Lambda语法的条件封装

LambdaQueryWrapper:具有Lambda语法查询条件封装

LambdaUpdateWrapper:具有Lambda语法更新条件封装

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

       AbstractWrapper:用于查询条件封装,生成sql的where条件

               QueryWrapper:查询条件封装

               UpdateWrapper:Update条件封装

               AbstractLambdaWrapper:使用Lambda语法

                              LambdaQueryWrapper:用于Lambda语法使用的查询Wrapper

                               LambdaUpdateWrapper:用于Lambda更新封装Wrapper

Wrapper

抽象类,条件类的顶层,提供了一些获取和判断相关的方法

public abstract class Wrapper<T> implements ISqlSegment

AbstractWrapper

抽象类,Wrapper的子类,提供了所有的条件相关方法

1. public abstract class AbstractWrapper<T, R, Children 
2. extends AbstractWrapper<T, R, Children>> extends Wrapper<T>
3. implements Compare<Children, R>, Nested<Children, Children>, Join<Children>, Func<Children, R> {

AbstractLambdaWrapper

抽象类,AbstractWrapper的子类,确定字段参数为方法引用类型

Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column

1. public abstract class AbstractLambdaWrapper<T, Children 
2. extends AbstractLambdaWrapper<T, Children>>
3. extends AbstractWrapper<T, SFunction<T, ?>, Children> {

QueryWrapper

类,AbstractWrapper的子类,如果我们需要传递String类型的字段信息,创建该对象

1. public class QueryWrapper<T> 
2. extends AbstractWrapper<T, String, QueryWrapper<T>>
3. implements Query<QueryWrapper<T>, T, String>

LambdaQueryWrapper

类,AbstractLambdaWrapper的子类,如果我们需要传递方法引用方式的字段信息,创建该对象

1. public class LambdaQueryWrapper<T> 
2. extends AbstractLambdaWrapper<T, LambdaQueryWrapper<T>>
3. implements Query<LambdaQueryWrapper<T>, T, SFunction<T, ?>> {

该图为以上各类的关系,我们在编写代码的时候,只需要关注QueryWrapperLambdaQueryWrapper


相关文章
|
SQL 关系型数据库 MySQL
Mybatis-plus4条件构造器方式
Mybatis-plus4条件构造器方式
69 0
|
SQL
MyBatis-Plus条件构造器之wapper介绍(一)
MyBatis-Plus条件构造器之wapper介绍
610 0
|
3月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
3月前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
61 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
9月前
|
SQL
【MybatisPlus】条件构造器、自定义SQL、Service接口
【MybatisPlus】条件构造器、自定义SQL、Service接口
122 0
【MybatisPlus】条件构造器、自定义SQL、Service接口
|
9月前
|
SQL 存储 算法
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口
Mybatis-Plus- CRUD接口-主键策略-自动填充和乐观锁-分页-逻辑删除-条件构造器和常用接口
102 0
mysql-MybatisPlus的条件构造器
MybatisPlus的条件构造器
|
SQL 数据库
MyBatisPlus 之 条件查询 <条件构造器>
MyBatisPlus 之 条件查询 <条件构造器>
197 0
|
9月前
|
SQL XML Java
MyBatis Plus通用CRUD与条件构造器使用及SQL自动注入原理分析
MyBatis Plus通用CRUD与条件构造器使用及SQL自动注入原理分析
336 0
|
SQL Java 数据库
MyBatis-Plus 条件构造器
MyBatis-Plus 条件构造器
206 0