@Intercepts(value=@Signature(type=org.apache.ibatis.executor.statement.StatementHandler.class,method="prepare",args={java.sql.Connection.class,java.lang.Integer.class}))
public class PaginationInterceptor
extends AbstractSqlParserHandler
implements org.apache.ibatis.plugin.Interceptor
| 限定符和类型 | 字段和说明 |
|---|---|
protected com.baomidou.mybatisplus.core.parser.ISqlParser |
countSqlParser
COUNT SQL 解析
|
protected java.lang.String |
dialectClazz
方言实现类
注意! |
protected java.lang.String |
dialectType
方言类型(数据库名,全小写)
如果用的我们支持分页的数据库但获取数据库类型不正确则可以配置该值进行校正 |
protected long |
limit
单页限制 500 条,小于 0 如 -1 不受限制
|
protected static org.apache.ibatis.logging.Log |
logger |
protected boolean |
overflow
溢出总页数后是否进行处理
|
| 构造器和说明 |
|---|
PaginationInterceptor() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
concatOrderBy(java.lang.String originalSql,
com.baomidou.mybatisplus.core.metadata.IPage<?> page)
查询SQL拼接Order By
|
protected void |
handlerLimit(com.baomidou.mybatisplus.core.metadata.IPage<?> page)
处理超出分页条数限制,默认归为限制数
|
protected void |
handlerOverflow(com.baomidou.mybatisplus.core.metadata.IPage<?> page)
处理页数溢出,默认设置为第一页
|
java.lang.Object |
intercept(org.apache.ibatis.plugin.Invocation invocation)
Physical Page Interceptor for all the queries with parameter
RowBounds |
java.lang.Object |
plugin(java.lang.Object target) |
protected void |
queryTotal(java.lang.String sql,
org.apache.ibatis.mapping.MappedStatement mappedStatement,
org.apache.ibatis.mapping.BoundSql boundSql,
com.baomidou.mybatisplus.core.metadata.IPage<?> page,
java.sql.Connection connection)
查询总记录条数
|
void |
setProperties(java.util.Properties prop) |
sqlParserprotected static final org.apache.ibatis.logging.Log logger
protected com.baomidou.mybatisplus.core.parser.ISqlParser countSqlParser
protected boolean overflow
protected long limit
protected java.lang.String dialectType
protected java.lang.String dialectClazz
public static java.lang.String concatOrderBy(java.lang.String originalSql,
com.baomidou.mybatisplus.core.metadata.IPage<?> page)
originalSql - 需要拼接的SQLpage - page对象public java.lang.Object intercept(org.apache.ibatis.plugin.Invocation invocation)
throws java.lang.Throwable
RowBoundsintercept 在接口中 org.apache.ibatis.plugin.Interceptorjava.lang.Throwableprotected void handlerLimit(com.baomidou.mybatisplus.core.metadata.IPage<?> page)
page - IPageprotected void queryTotal(java.lang.String sql,
org.apache.ibatis.mapping.MappedStatement mappedStatement,
org.apache.ibatis.mapping.BoundSql boundSql,
com.baomidou.mybatisplus.core.metadata.IPage<?> page,
java.sql.Connection connection)
sql - count sqlmappedStatement - MappedStatementboundSql - BoundSqlpage - IPageconnection - Connectionprotected void handlerOverflow(com.baomidou.mybatisplus.core.metadata.IPage<?> page)
page - IPagepublic java.lang.Object plugin(java.lang.Object target)
plugin 在接口中 org.apache.ibatis.plugin.Interceptorpublic void setProperties(java.util.Properties prop)
setProperties 在接口中 org.apache.ibatis.plugin.Interceptor