All Classes and Interfaces

Class
Description
默认实现,使用 Hikari 连接池时,简单获取 jdbcUrl
基于 CountSqlParser 的智能 Count 查询
针对 PageContext 的实现
基于 RowBounds 的分页
AS400
自动获取方言
BoundSql 处理器
处理器链,可以控制是否继续执行
 
 
公共方法
CacheFactory
CirroData
条件:多表条件处理基类,提供处理 SELECT、UPDATE、DELETE 语句并根据表元数据追加条件的方法。
count 查询
创建新的MappedStatement,主要是Count返回值int
构建当前查询对应的 count 方法 id 返回的 msId 会先判断是否存在自定义的方法,存在就直接使用 如果不存在,会根据当前的 msId 创建 MappedStatement
sql解析类,提供更智能的count查询sql
数据库方言 db2
db2 基于 RowBounds 的分页
遍历所有实现,找到匹配的实现
sql解析类,提供更智能的count查询sql
处理 Order by
将sqlserver查询语句转换为分页语句 注意事项: 请先保证你的SQL可以执行 sql中最好直接包含order by,可以自动从sql提取 如果没有order by,可以通过入参提供,但是需要自己保证正确 如果sql有order by,可以通过orderby参数覆盖sql中的order by order by的列名不能使用别名 表和列使用别名的时候不要使用单引号(') 该类设计为一个独立的工具类,依赖jsqlparser,可以独立使用
数据库方言,针对不同数据库进行实现
Druid
早期版本默认实现,获取连接再获取 url,这种方式通用性强,但是性能低,处理不好关闭连接时容易出问题
firebirdsql数据库
Simple Guava Cache
数据库方言 herddb
HerdDB 基于 RowBounds 的分页
Hikari
数据库方言 hsqldb
hsqldb 基于 RowBounds 的分页
数据库方言 informix
informix 基于 RowBounds 的分页
 
反射带缓存,提高反射性能
数据库方言 mysql
mysql 基于 RowBounds 的分页
操作:防止全表更新与删除
数据库方言 oracle
数据库方言 oracle9i
oracle 基于 RowBounds 的分页
处理 Order by
数据库方言 oscar
MyBatis分页对象,支持分页查询及结果集管理。
提供数据库分页方言的自动识别和配置功能。
BoundSql 拦截器链配置器,负责初始化和管理 SQL 绑定处理器链
Mybatis - 通用分页拦截器
提供基础分页方法,用于配置和管理MyBatis分页查询。
分页参数对象工具类
分页参数基类,继承该类以便更直接地控制分页参数。
分页参数配置类,负责管理和解析分页相关参数。
对Page结果进行包装,新增分页相关属性以支持导航和页面信息展示。
分页:查询的分页
分页接口
数据权限处理器 用于处理SQL语句中的数据权限控制,动态添加权限条件
数据权限提供者接口 定义数据权限SQL片段的生成逻辑
数据库方言 postgresql
PostgreSQL 基于 RowBounds 的分页
分页配置,实现该接口的类在初始化后会调用 Property.setProperties(Properties) 方法
分页查询接口
正则处理 with(nolock),转换为一个 table_PAGEWITHNOLOCK
替换和还原 SQL
扩展MyBatis的RowBounds,添加分页结果信息,如总记录数和是否执行count查询。
分页信息类,用于存储分页查询的结果集和总记录数,支持序列化。
Simple MyBatis Cache
简单处理 with(nolock)
为了能自己控制是否使用单线程池,是否支持超时控制,所以自己实现了一个
抽象SQL解析类,提供SQL语句解析和处理功能。
数据库方言 sqlserver
数据库方言 sqlserver2012
sqlserver2012 基于 RowBounds 的分页
sqlserver 基于 RowBounds 的分页
针对 sqlserver 的分页解析
多租户处理器,负责在 SQL 中添加租户条件。
租户:行级多租户
数据库方言 Xugudb
Xugudb 基于 RowBounds 的分页