MyBatis 分页插件 PageHelper 6.0.0 发布

在这里插入图片描述

6.0.0 - 2023-11-05

  • 基于jdk8适配,6.0开始不支持jdk6和7,如果有需要可以使用5.x版本
  • 增加异步count支持,全局配置asyncCount,默认false,单次设置:PageHelper.startPage(1, 10).enableAsyncCount();
    异步使用独立连接(事务)查询,有增删改操作影响查询时不适合开启异步查询。closed #334
  • JSqlParser默认开启 parser.withSquareBracketQuotation(true),支持 SqlServer []
  • feat: 在PageInfo类中新增了用以进行数据对象转换的方法 <E> PageInfo<E> convert(Page.Function<T, E> function) by
    codeke
  • CountSqlParser改为接口,允许通过countSqlParser参数替换为自己的实现,支持 #772
  • dialectAlias支持简化配置,例如dm=oracle;oracle=oracle9i,直接引用现在的缩写,不用写类全名
  • countColumn添加注入检测,fixed #686
  • 增加PageParam类,不内嵌对象(会影响使用),如果想用可以继承该对象,closed #562
  • 所有异常信息改为英文提示
  • 放开 setLocalPage,支持 #771
  • 解决sqlserver带union sql解析时处理order by错误的问题,fixed #768
  • 优化total逻辑,解决指定不分页查询,同时指定order by时无效的问题,fixed #641
  • 修改 dialect 实例化逻辑,保证类完成配置后使用,fixed #742
  • dialectAliasMap改为LinkedHashMap,可以按配置顺序进行匹配,fixed #758
  • 行云数据库分页BUG修复 by maimaitiyaer_bonc

PageHelper 6 支持 jdk8+

PageHelper 5 支持 jdk6+

物理分页

该插件目前支持以下数据库的物理分页 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/43registerDialectAlias("dm",OracleDialect.class);//阿里云PPAS数据库,https://github.com/pagehelper/Mybatis-PageHelper/issues/281registerDialectAlias("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);// 人大金仓新版本kingbase8registerDialectAlias("kingbase8",PostgreSqlDialect.class);//行云数据库registerDialectAlias("xcloud",CirroDataDialect.class);//openGauss数据库registerDialectAlias("opengauss",PostgreSqlDialect.class);//注册 AutoDialect//想要实现和以前版本相同的效果时,可以配置 autoDialectClass=oldregisterAutoDialectAlias("old",DefaultAutoDialect.class);registerAutoDialectAlias("hikari",HikariAutoDialect.class);registerAutoDialectAlias("druid",DruidAutoDialect.class);registerAutoDialectAlias("tomcat-jdbc",TomcatAutoDialect.class);registerAutoDialectAlias("dbcp",DbcpAutoDialect.class);registerAutoDialectAlias("c3p0",C3P0AutoDialect.class);//不配置时,默认使用 DataSourceNegotiationAutoDialectregisterAutoDialectAlias("default",DataSourceNegotiationAutoDialect.class);
}

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

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

<property name="dialectAlias" value="oracle=com.github.pagehelper.dialect.helper.OracleDialect"/>
<!-- 6.0支持下面的引用方式,引用 Oracle9iDialect.class 的实现 -->
<property name="dialectAlias" value="oracle=oracle9i"/>
<!-- 6.0支持下面的引用方式,达梦使用oracle语法分页,简化类全名写法 -->
<property name="dialectAlias" value="dm=oracle"/>

PageHelper Spring Boot Starter 发布 2.0.0

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


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

v2.0.0 - 2023-11-05

  • 升级 PageHelper 到 6.0.0,支持异步 count 等功能,详细查看 6.0
  • 升级 MyBatis 到 3.5.15
  • 升级 springboot 到 2.7.17
  • 新增参数 asyncCount,增加异步count支持,默认false,单次设置:PageHelper.startPage(1, 10).enableAsyncCount();
  • 新增参数 countSqlParserCountSqlParser改为接口,允许通过countSqlParser参数替换为自己的实现

参数示例:

pagehelper.async-count=true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/162299.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Crypto(8) BUUCTF-bbbbbbrsa1

题目描述&#xff1a; from base64 import b64encode as b32encode from gmpy2 import invert,gcd,iroot from Crypto.Util.number import * from binascii import a2b_hex,b2a_hex import randomflag "******************************"nbit 128p getPrime(nbit)…

HarmonyOS ArkTS基础知识

概述 上一节&#xff0c;学习了TypeScript的基础语法&#xff0c;而在鸿蒙开发当中&#xff0c;有基于自己的编程语言&#xff0c;便是ArkTS。它是一种声明式UI的编程范式的语言&#xff0c;开发框架如下图所示&#xff1a; 根据框架图&#xff0c;分析&#xff0c;我将它大致…

吸引人的标题公式-爆款标题

有的朋友图文或视频质量明明很不错 但数据有时候却不尽人意 这个时候就可以考虑一下是不是标题的原因 这篇总结出万能公式以供参考

unity【动画】脚本_角色动画控制器 c#

首先创建一个代码文件夹Scripts 从人物角色Player的基类开始 创建IPlayer类 首先我们考虑到如果不挂载MonoBehaviour需要将角色设置成预制体实例化到场景上十分麻烦&#xff0c; 所以我们采用继承MonoBehaviour类的角色基类方法写代码 也就是说这个脚本直接绑定在角色物体…

第21期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练 Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…

LangChain+LLM实战---Midjourney高级技巧的极简教程

原文&#xff1a;An advanced guide to writing prompts for Midjourney ( text-to-image) 作者&#xff1a;Lars Nielsen Midjourney生成的图像&#xff0c;文本Prompt&#xff1a;beautiful, fantasy city unreal engine 一句话介绍midjourney ? 对于那些还没有听说过Mid…

【算法练习Day40】打家劫舍打家劫舍 II打家劫舍 III

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 打家劫舍打家劫舍 II打家劫…

AD7792/AD7793 备忘

AD7792/AD7793 是一款 ∑-Δ ADC&#xff0c;3 通道、低噪声&#xff0c;内部集成仪表放大器和参考源。AD7792 为 16 位&#xff0c;AD7793为 24 位。 供电电压&#xff1a;2.7 ~ 5.25 V&#xff0c;并不支持负电压。转换速率&#xff1a;4.17 Hz ~ 470 Hz内置参考基准&#x…

虚拟机备份中的CBT技术

虚拟机备份的CBT&#xff08; Changed Block Tracking&#xff09;模式是一种备份模式&#xff0c;它能够识别和跟踪自上次备份后虚拟机中被修改过的块&#xff0c;这些修改会被存放到日志文件中。在启用CBT模式之后&#xff0c;备份软件会利用这个功能进行增量备份。 启用CBT…

服务器黑洞,如何秒解

想必这样的短信大家都应该见过吧&#xff0c;这其实是阿里云服务器被攻击后触发的黑洞机制的短信通知。还有很多朋友不知道&#xff0c;为什么要这么做。原因其实很简单啊&#xff0c;当同一个机房的ip段&#xff0c;如果说有一台服务器遭受低道攻击&#xff0c;那么很可能会造…

提升企业知名度必备!媒体发稿的5个关键要点

近年来&#xff0c;媒体发稿成为企业提升知名度和品牌形象的重要手段。无论是大型企业还是中小企业&#xff0c;都倾向于选择媒体发稿来扩大影响力。然而&#xff0c;很多企业在发稿后并没有如预期般获得良好效果。这可能是因为他们没有掌握正确的技巧。那么&#xff0c;在媒体…

crontab 定时任务

1.查看 crond 是否开启 systemctl status crond 2.设置 crontab 定时任务 基本语法 #基本语法 crontab [选项] 查看定时任务 #查看定时任务 crontab -l 编辑定时任务 #编辑定时任务 crontab -e 案例实操 */1 * * * * echo "hello,world" >> /root/hel…