All Classes and Interfaces
Class
Description
MyBatis 中用于 SQL 拦截和处理的抽象基类。
常量信息类,定义 MyBatis 相关配置和 SQL 片段。
基础 Mapper 接口,集成常用操作方法,支持继承和方法覆盖
缓存 XML 形式的 SqlSource,避免重复解析。
支持缓存实体类信息的表工厂
记录字段对应的类和列名,用于匹配实体类字段与数据库列。
记录字段对应的类和字段名,用于匹配实体类字段与数据库列的属性。
缓存实体类类型的工具类
根据类型和方法等信息获取实体类类型,可通过 SPI 方式替换默认实现
实体类查找器实例管理类
Mapper 接口和方法,用作缓存 Key
默认列构建器,支持 jakarta.persistence 注解的实体类,解析字段注解并生成列信息
实体中字段和列的对应关系接口,记录字段上提供的列信息
实体类信息工厂接口,可通过 SPI 加入处理链以扩展列信息创建逻辑
工厂链接口,用于链式调用列信息创建逻辑
列工厂处理链,支持单例,线程安全
通用的条件查询对象,用于构建复杂的查询条件
基于 Condition 的查询和操作接口,提供条件查询、更新、删除等功能
提供基于条件的动态SQL生成,用于基本的增删改查操作。
封装 Condition 查询条件,提供链式调用接口以构建复杂查询
查询条件类,用于构建复杂的 SQL 查询条件
查询条件单元类,表示单个 SQL 查询条件
游标查询接口,提供基于实体和条件的游标查询方法
提供标准的命名风格生成器,使用原始类名和字段名作为表名和列名。
支持简便写法的 SQL 脚本接口
实体对象构建器,存储和提供 TableMeta 和 ColumnMeta 信息
实体类基本操作接口,提供对实体类的增删改查等常用方法
提供基本的增删改查操作,生成动态 SQL。
实体类字段信息类,参考
Field,提供字段相关操作方法引用工具接口,用于获取方法引用对应的字段和列信息
字段数组,表示部分字段的虚拟表
支持直接指定字段名或列名的方法引用
带有指定实体类类型的方法引用
可指定字段的操作接口,提供基于字段的更新和查询方法
提供基于指定字段的动态 SQL 操作。
泛型类型解析器,基于 MyBatis 3 的源码,添加了 resolveMapperTypes 方法以支持接口泛型解析 源码来自 https://github.com/mybatis/mybatis-3
泛型数组类型实现类
参数化类型实现类
通配符类型实现类
主键生成器接口,用于通过接口生成主键值。
默认空实现,抛出不支持操作异常。
主键生成器,负责在插入操作前或后生成主键值。
封装 SqlSource 以实现在插入前生成主键。
工厂实例持有类,管理表工厂和列工厂的处理链
处理实体类上的主键策略,自动配置主键生成逻辑。
批量操作接口,提供实体列表的批量插入和更新方法
提供批量操作的动态 SQL 生成方法。
多语言支持工具类,支持通过 JVM 参数设置 Locale,例如:
-Duser.country=US -Duser.language=en。语言包接口,定义获取格式化文本的方法。
逻辑删除操作接口,覆盖基础查询、删除、更新方法以支持逻辑删除
支持逻辑删除的动态 SQL 操作实现。
提供小写命名风格的表名和列名生成器。
自定义 Mapper 接口示例,基于主键自增重写了 insert 方法,主要用于展示用法。
BoundSql的封装类,用于操作MyBatis的BoundSql对象
实体类信息工厂,用于创建和管理实体类信息
SQL 拦截处理器
用于操作MyBatis的StatementHandler对象
标记接口,继承该接口的接口,在 ClassPathMapperScanner#setMarkerInterface 时,会自动注册到通用Mapper
MyBatis SQL 拦截器
提供命名样式的接口,支持通过 SPI 扩展自定义命名规则。
OGNL 静态方法工具类,提供类型注册、SPI 实例获取及函数式字段名转换功能。
OR 查询条件类,继承自 Criteria,用于构建 OR 连接的 SQL 查询条件
定义排序顺序和优先级的接口,用于控制执行顺序。
默认的主键生成器,处理插入前的主键生成逻辑。
属性映射基类,提供属性的存储和操作
支持定制化处理
MappedStatement 的接口。默认实体类查找器,支持识别带有 @jakarta.persistence.Table 的实体类或不带任何注解的 POJO
注解方式的
SqlScriptWrapper,提供基于注解的 SQL 脚本包装功能通过
SqlWrapper 注解支持对 SQL 的扩展抽象实体类查找器,根据泛型从返回值、参数、接口泛型参数判断对应的实体类类型
提供小写下划线命名风格的表名和列名生成器,将驼峰命名转换为下划线命名。
SQL 缓存类,用于延迟生成 SQL 脚本
SQL 脚本接口,对 XML 形式 SQL 进行简单封装,便于使用
确保字符串前有换行符的 Supplier 接口
SPI 接口:对最终的 SQL 进行处理
实例持有类,管理
SqlScriptWrapper 的 SPI 实现支持定制化处理
SqlSource 的接口用于对 SQL 进行二次加工的注解,可应用于接口、方法、参数及注解,仅支持一层搜索
默认表构建器,支持处理 jakarta.persistence 注解的实体类
实体表接口,记录实体和表的关系
SQL 表名解析器,用于从 SQL 语句中提取表名。
SQL 词素
表名访问器
实体类信息工厂接口,可通过 SPI 加入处理链以扩展表信息创建逻辑
工厂链接口,用于链式调用表信息创建逻辑
实体类表工厂处理链,支持单例,线程安全
提供大写命名风格的表名和列名生成器。
提供大写下划线命名风格的表名和列名生成器,将驼峰命名转换为大写下划线命名。