Package org.aoju.bus.pager.dialect
Class AbstractPaging
java.lang.Object
org.aoju.bus.pager.dialect.AbstractDialect
org.aoju.bus.pager.dialect.AbstractPaging
- All Implemented Interfaces:
Dialect
- Direct Known Subclasses:
Db2,Firebird,HerdDB,Hsqldb,Informix,MySql,Oracle,Oracle9i,Oscar,PostgreSql,SqlServer
针对 PageContext 的实现
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic String第一个分页参数static String第二个分页参数static Stringcount查询的id后缀static String分页的id后缀Fields inherited from class org.aoju.bus.pager.dialect.AbstractDialect
countSqlParser -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterAll()完成所有任务后booleanafterCount(long count, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 执行完 count 查询后分页查询后,处理分页结果,拦截器中直接 return 该方法的返回值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 查询 sql<T> Page<T>获取分页参数abstract StringgetPageSql(String sql, Page page, org.apache.ibatis.cache.CacheKey pageKey) 单独处理分页部分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) 生成分页查询 sqlprotected voidhandleParameter(org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.mapping.MappedStatement ms, Class<?> firstClass, Class<?> secondClass) abstract ObjectprocessPageParameter(org.apache.ibatis.mapping.MappedStatement ms, Map<String, Object> paramMap, Page page, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) 处理分页参数processParameterObject(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) 处理查询参数对象voidsetProperties(Properties properties) 设置参数final booleanskip(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) 跳过 count 和 分页查询
-
Field Details
-
SUFFIX_PAGE
分页的id后缀 -
SUFFIX_COUNT
count查询的id后缀 -
PAGEPARAMETER_FIRST
第一个分页参数 -
PAGEPARAMETER_SECOND
第二个分页参数
-
-
Constructor Details
-
AbstractPaging
public AbstractPaging()
-
-
Method Details
-
getLocalPage
获取分页参数- Type Parameters:
T- 对象- Returns:
- 结果
-
skip
public final boolean skip(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) Description copied from interface:Dialect跳过 count 和 分页查询- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- true 跳过,返回默认查询结果,false 执行分页查询
-
beforeCount
public boolean beforeCount(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) Description copied from interface:Dialect执行分页前,返回 true 会进行 count 查询,false 会继续下面的 beforePage 判断- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
getCountSql
public 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) Description copied from interface:Dialect生成 count 查询 sql- Specified by:
getCountSqlin interfaceDialect- Overrides:
getCountSqlin classAbstractDialect- Parameters:
ms- MappedStatementboundSql- 绑定 SQL 对象parameterObject- 方法参数rowBounds- 分页参数countKey- count 缓存 key- Returns:
- the object
-
afterCount
public boolean afterCount(long count, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) Description copied from interface:Dialect执行完 count 查询后- Parameters:
count- 查询结果总数parameterObject- 接口参数rowBounds- 分页参数- Returns:
- true 继续分页查询,false 直接返回
-
processParameterObject
public Object processParameterObject(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) Description copied from interface:Dialect处理查询参数对象- Parameters:
ms- MappedStatementparameterObject- 方法参数boundSql- 绑定 SQL 对象pageKey- 分页缓存 key- Returns:
- the object
-
processPageParameter
public abstract Object processPageParameter(org.apache.ibatis.mapping.MappedStatement ms, Map<String, Object> paramMap, Page page, org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.cache.CacheKey pageKey) 处理分页参数- Parameters:
ms- MappedStatementparamMap- Mappage- PageboundSql- BoundSqlpageKey- CacheKey- Returns:
- 结果
-
beforePage
public boolean beforePage(org.apache.ibatis.mapping.MappedStatement ms, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) Description copied from interface:Dialect执行分页前,返回 true 会进行分页查询,false 会返回默认查询结果- Parameters:
ms- MappedStatementparameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
getPageSql
public 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) Description copied from interface:Dialect生成分页查询 sql- Parameters:
ms- MappedStatementboundSql- 绑定 SQL 对象parameterObject- 方法参数rowBounds- 分页参数pageKey- 分页缓存 key- Returns:
- the object
-
getPageSql
单独处理分页部分- Parameters:
sql- sqlpage- PagepageKey- CacheKey- Returns:
- the string
-
afterPage
public Object afterPage(List pageList, Object parameterObject, org.apache.ibatis.session.RowBounds rowBounds) Description copied from interface:Dialect分页查询后,处理分页结果,拦截器中直接 return 该方法的返回值- Parameters:
pageList- 分页查询结果parameterObject- 方法参数rowBounds- 分页参数- Returns:
- the object
-
afterAll
public void afterAll()Description copied from interface:Dialect完成所有任务后 -
setProperties
Description copied from interface:Dialect设置参数- Parameters:
properties- 插件属性
-
handleParameter
protected void handleParameter(org.apache.ibatis.mapping.BoundSql boundSql, org.apache.ibatis.mapping.MappedStatement ms, Class<?> firstClass, Class<?> secondClass) - Parameters:
boundSql- boundSqlms- MappedStatementfirstClass- 第一个分页参数secondClass- 第二个分页参数
-