
asyncCount,默认false,单次设置:PageHelper.startPage(1, 10).enableAsyncCount();parser.withSquareBracketQuotation(true),支持 SqlServer []PageInfo类中新增了用以进行数据对象转换的方法 PageInfo convert(Page.Function function) byCountSqlParser改为接口,允许通过countSqlParser参数替换为自己的实现,支持 #772dialectAlias支持简化配置,例如dm=oracle;oracle=oracle9i,直接引用现在的缩写,不用写类全名countColumn添加注入检测,fixed #686PageParam类,不内嵌对象(会影响使用),如果想用可以继承该对象,closed #562setLocalPage,支持 #771sqlserver带union sql解析时处理order by错误的问题,fixed #768dialectAliasMap改为LinkedHashMap,可以按配置顺序进行匹配,fixed #758该插件目前支持以下数据库的物理分页 PageAutoDialect:
static {
//注册别名
registerDialectAlias("hsqldb",HsqldbDialect.class);
registerDialectAlias("h2",HsqldbDialect.class);
registerDialectAlias("phoenix",HsqldbDialect.class);
registerDialectAlias("postgresql",PostgreSqlDialect.class);
registerDialectAlias("mysql",MySqlDialect.class);
registerDialectAlias("mariadb",MySqlDialect.class);
registerDialectAlias("sqlite",MySqlDialect.class);
registerDialectAlias("herddb",HerdDBDialect.class);
registerDialectAlias("oracle",OracleDialect.class);
registerDialectAlias("oracle9i",Oracle9iDialect.class);
registerDialectAlias("db2",Db2Dialect.class);
registerDialectAlias("as400",AS400Dialect.class);
registerDialectAlias("informix",InformixDialect.class);
//解决 informix-sqli #129,仍然保留上面的
registerDialectAlias("informix-sqli",InformixDialect.class);
registerDialectAlias("sqlserver",SqlServerDialect.class);
registerDialectAlias("sqlserver2012",SqlServer2012Dialect.class);
registerDialectAlias("derby",SqlServer2012Dialect.class);
//达梦数据库,https://github.com/mybatis-book/book/issues/43
registerDialectAlias("dm",OracleDialect.class);
//阿里云PPAS数据库,https://github.com/pagehelper/Mybatis-PageHelper/issues/281
registerDialectAlias("edb",OracleDialect.class);
//神通数据库
registerDialectAlias("oscar",OscarDialect.class);
registerDialectAlias("clickhouse",MySqlDialect.class);
//瀚高数据库
registerDialectAlias("highgo",HsqldbDialect.class);
//虚谷数据库
registerDialectAlias("xugu",HsqldbDialect.class);
registerDialectAlias("impala",HsqldbDialect.class);
registerDialectAlias("firebirdsql",FirebirdDialect.class);
//人大金仓数据库
registerDialectAlias("kingbase",PostgreSqlDialect.class);
// 人大金仓新版本kingbase8
registerDialectAlias("kingbase8",PostgreSqlDialect.class);
//行云数据库
registerDialectAlias("xcloud",CirroDataDialect.class);
//openGauss数据库
registerDialectAlias("opengauss",PostgreSqlDialect.class);
//注册 AutoDialect
//想要实现和以前版本相同的效果时,可以配置 autoDialectClass=old
registerAutoDialectAlias("old",DefaultAutoDialect.class);
registerAutoDialectAlias("hikari",HikariAutoDialect.class);
registerAutoDialectAlias("druid",DruidAutoDialect.class);
registerAutoDialectAlias("tomcat-jdbc",TomcatAutoDialect.class);
registerAutoDialectAlias("dbcp",DbcpAutoDialect.class);
registerAutoDialectAlias("c3p0",C3P0AutoDialect.class);
//不配置时,默认使用 DataSourceNegotiationAutoDialect
registerAutoDialectAlias("default",DataSourceNegotiationAutoDialect.class);
}
如果你使用的数据库不在这个列表时,你可以配置
dialectAlias参数。这个参数允许配置自定义实现的别名,可以用于根据 JDBCURL 自动获取对应实现,允许通过此种方式覆盖已有的实现,配置示例如(多个配置时使用分号隔开):
<property name="dialectAlias" value="oracle=com.github.pagehelper.dialect.helper.OracleDialect"/> <property name="dialectAlias" value="oracle=oracle9i"/> <property name="dialectAlias" value="dm=oracle"/>
- 1
- 2
- 3
- 4
- 5
在 pom.xml 中添加如下依赖:
<dependency>
<groupId>com.github.pagehelpergroupId>
<artifactId>pagehelper-spring-boot-starterartifactId>
<version>2.0.0version>
dependency>
asyncCount,增加异步count支持,默认false,单次设置:PageHelper.startPage(1, 10).enableAsyncCount();countSqlParser,CountSqlParser改为接口,允许通过countSqlParser参数替换为自己的实现参数示例:
pagehelper.async-count=true