All Classes and Interfaces
Class
Description
默认实现,使用 Hikari 连接池时,简单获取 jdbcUrl
基于 CountSqlParser 的智能 Count 查询
针对 PageContext 的实现
基于 RowBounds 的分页
AS400
自动获取方言
BoundSql 处理器
处理器链,可以控制是否继续执行
公共方法
Simple cache interface
CacheFactory
CirroData
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 - 分页对象
兼容低版本 Java 7-
基础方言信息
Mybatis - 通用分页拦截器
基础分页方法
分页参数对象工具类
抽象类,自己的查询类可以继承该类,可以更直接的控制分页参数
Page 参数信息
通用分页拦截器
对Page结果进行包装 新增分页的多项属性
分页接口
数据库方言 postgresql
PostgreSQL 基于 RowBounds 的分页
分页配置,实现该接口的类在初始化后会调用
Property.setProperties(Properties) 方法分页查询接口
QuerySqlHandler 规范
正则处理 with(nolock),转换为一个 table_PAGEWITHNOLOCK
替换和还原 SQL
分页结果信息
分页信息
Simple MyBatis Cache
简单处理 with(nolock)
为了能自己控制是否使用单线程池,是否支持超时控制,所以自己实现了一个
抽象 SQL 解析类
数据库方言 sqlserver
数据库方言 sqlserver2012
sqlserver2012 基于 RowBounds 的分页
sqlserver 基于 RowBounds 的分页
针对 sqlserver 的分页解析