- All Known Implementing Classes:
AbstractDialect,AbstractPaging,AbstractRowBounds,AS400,CirroData,Db2,Db2RowBounds,Firebird,HerdDB,HerdDBRowBounds,Hsqldb,HsqldbRowBounds,Informix,InformixRowBounds,MySql,MySqlRowBounds,Oracle,Oracle9i,OracleRowBounds,Oscar,PageContext,PostgreSql,PostgreSqlRowBounds,SqlServer,SqlServer2012,SqlServer2012RowBounds,SqlServerRowBounds,Xugudb,XugudbRowBounds
public interface Dialect
数据库方言,针对不同数据库进行实现
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Method Summary
Modifier and TypeMethodDescriptionvoidafterAll()完成所有任务后booleanafterCount(long count, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行完 count 查询后分页查询后,处理分页结果,拦截器中直接 return 该方法的返回值default <T> Future<T> asyncCountTask(Callable<T> task) 执行异步 count 查询booleanbeforeCount(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行分页前,返回 true 会进行 count 查询,false 会继续下面的 beforePage 判断booleanbeforePage(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行分页前,返回 true 会进行分页查询,false 会返回默认查询结果getCountSql(org.apache.ibatis.mapping.MappedStatement ms, org.apache.ibatis.mapping.BoundSql boundSql, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.cache.CacheKey countKey) 生成 count 查询 sqlgetPageSql(org.apache.ibatis.mapping.MappedStatement ms, org.apache.ibatis.mapping.BoundSql boundSql, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.cache.CacheKey pageKey) 生成分页查询 sqldefault boolean是否使用异步 count 查询,使用异步后不会根据返回的 count 数来判断是否有必要进行分页查询processParameterObject(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) 处理查询参数对象voidsetProperties(Properties properties) 设置参数booleanskip(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 跳过 count 和 分页查询
-
Method Details
-
skip
boolean skip(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 跳过 count 和 分页查询- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- true 跳过,返回默认查询结果,false 执行分页查询
-
isAsyncCount
default boolean isAsyncCount()是否使用异步 count 查询,使用异步后不会根据返回的 count 数来判断是否有必要进行分页查询- Returns:
- true 异步,false 同步
-
asyncCountTask
执行异步 count 查询- Type Parameters:
T- 引用对象- Parameters:
task- 异步查询任务- Returns:
- the object
-
beforeCount
boolean beforeCount(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行分页前,返回 true 会进行 count 查询,false 会继续下面的 beforePage 判断- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
getCountSql
String getCountSql(org.apache.ibatis.mapping.MappedStatement ms, org.apache.ibatis.mapping.BoundSql boundSql, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.cache.CacheKey countKey) 生成 count 查询 sql- Parameters:
ms- MappedStatementboundSql- 绑定 SQL 对象parameterObject- 方法参数rowBounds- 分页参数countKey- count 缓存 key- Returns:
- the object
-
afterCount
boolean afterCount(long count, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行完 count 查询后- Parameters:
count- 查询结果总数parameterObject- 接口参数rowBounds- 分页参数- Returns:
- true 继续分页查询,false 直接返回
-
processParameterObject
Object processParameterObject(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) 处理查询参数对象- Parameters:
ms- MappedStatementparameterObject- 方法参数boundSql- 绑定 SQL 对象pageKey- 分页缓存 key- Returns:
- the object
-
beforePage
boolean beforePage(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行分页前,返回 true 会进行分页查询,false 会返回默认查询结果- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
getPageSql
String getPageSql(org.apache.ibatis.mapping.MappedStatement ms, org.apache.ibatis.mapping.BoundSql boundSql, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds, org.apache.ibatis.cache.CacheKey pageKey) 生成分页查询 sql- Parameters:
ms- MappedStatementboundSql- 绑定 SQL 对象parameterObject- 方法参数rowBounds- 分页参数pageKey- 分页缓存 key- Returns:
- the object
-
afterPage
Object afterPage(List pageList, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 分页查询后,处理分页结果,拦截器中直接 return 该方法的返回值- Parameters:
pageList- 分页查询结果parameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
afterAll
void afterAll()完成所有任务后 -
setProperties
设置参数- Parameters:
properties- 插件属性
-