MyBatis 分页插件 PageHelper 5.3.0 发布

栏目: 软件资讯 · 发布时间: 4年前

内容简介:该插件目前支持以下数据库的物理分页: static { //注册别名 registerDialectAlias("hsqldb", HsqldbDialect.class); registerDialectAlias("h2", HsqldbDialect.class); registerDialectAl...

该插件目前支持以下数据库的物理分页:

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("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);
}

如果你使用的数据库不在这个列表时,你可以配置 dialectAlias 参数。

这个参数允许配置自定义实现的别名,可以用于根据 JDBCURL 自动获取对应实现,允许通过此种方式覆盖已有的实现,配置示例如(多个配置时使用分号隔开):

<property name="dialectAlias" value="oracle=com.github.pagehelper.dialect.helper.OracleDialect"/>

在 pom.xml 中添加如下依赖:

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.3.0</version>
</dependency

5.3.0 - 2021-10-07

  • 增加 AutoDialect 接口用于自动获取数据库类型,可以通过 autoDialectClass 配置为自己的实现类,默认使用 DataSourceNegotiationAutoDialect,优先根据连接池获取。 默认实现中,增加针对 hikari,druid,tomcat-jdbc,c3p0,dbcp 类型数据库连接池的特殊处理,直接从配置获取jdbcUrl,当使用其他类型数据源时,仍然使用旧的方式获取连接在读取jdbcUrl。 想要使用和旧版本完全相同方式时,可以配置 autoDialectClass=old。当数据库连接池类型非常明确时,建议配置为具体值,例如使用 hikari 时,配置 autoDialectClass=hikari ,使用其他连接池时,配置为自己的实现类。
  • 支持运行时动态指定使用的 dialect 实现,例如 PageHelper.startPage(1, 10).using("oracle"); 或者 PageHelper.startPage(2, 10).using("org.exmaple.CustomDialect");
  • PageInfo 增加空实例常量属性 PageInfo.EMPTY 以及内容判断 boolean hasContent()
  • 启动中增加 banner, 需要日志级别 debug,可以通过 -Dpagehelper.banner=false 或者环境变量 PAGEHELPER_BANNER=false 关闭
     DEBUG [main] -
     
     ,------.                           ,--.  ,--.         ,--.                         
     |  .--. '  ,--,--.  ,---.   ,---.  |  '--'  |  ,---.  |  |  ,---.   ,---.  ,--.--.
     |  '--' | ' ,-.  | | .-. | | .-. : |  .--.  | | .-. : |  | | .-. | | .-. : |  .--'
     |  | --'  \ '-'  | ' '-' ' \   --. |  |  |  | \   --. |  | | '-' ' \   --. |  |    
     `--'       `--`--' .`-  /   `----' `--'  `--'  `----' `--' |  |-'   `----' `--'    
     `---'                                   `--'                        is intercepting.
    
    增加 banner 的目的在于,如果你配置了多次分页插件,你会看到 banner 输出多次,你可以在 PageInterceptor 构造方法断点看看那些地方进行了实例化。
  • 完善 Count 查询,当存在 having 时,不在优化查询列。查询列存在有别名的函数或者运算时也不优化查询列,避免 order by 或 having 中使用的别名不存在。
  • 增加判断处理某些数据(如 TDEngine)查询 count 无结果时返回 null
  • 添加 Firebird 数据库支持和 SqlServer2012 分页语法相同。
  • 添加 impala 数据库自动识别。
  • JSqlParser 升级为 4.2 版本。

距离上次更新3个月左右,这次更新直接让假期少了3天 ???? ,关了 GitHub 和 Gitee 上的 200 多个issue,不一定所有问题都得到了处理,如果你还有疑问,可以继续提 issue,下个大版本会考虑直接 6.0,计划全部升级到 java 8,功能保持不变。

PageHelper Spring Boot Starter 1.4.0 发布

在 pom.xml 中添加如下依赖:

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.4.0</version>
</dependency>

以上所述就是小编给大家介绍的《MyBatis 分页插件 PageHelper 5.3.0 发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Design for ROI

Web Design for ROI

Lance Loveday、Sandra Niehaus / New Riders Press / 2007-10-27 / USD 39.99

Your web site is a business--design it like one. Billions of dollars in spending decisions are influenced by web sites. So why aren't businesses laser-focused on designing their sites to maximize thei......一起来看看 《Web Design for ROI》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试