转载

Mybatis 分页插件 3.7.2 发布

5月23日 西安 OSC 源创会开始报名啦,存储、虚拟机、Docker 等干货分享

Mybatis分页插件 - PageHelper

如果你也在用Mybatis,建议尝试该分页插件,这一定是 最方便 使用的分页插件。

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

  1. Oracle

  2. Mysql

  3. MariaDB

  4. SQLite

  5. Hsqldb

  6. PostgreSQL

  7. DB2

  8. SqlServer(2005+)

  9. Informix

3.7.2更新日志:

  • jsqlparser解析sql会抛出Error异常,由于只捕获Exception,所以导致部分解析失败的sql无法使用嵌套方式处理,所以修改为捕获Throwable。

reasonable参数说明

 <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 --> <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages(总页数)会查询最后一页 --> <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 --> <property name="reasonable" value="false"/>

由于许多人直接复制文档中的配置,没有仔细看该参数的含义,导致查询莫名其妙,这里强调一下。

如果你配置了该参数为true,那么如果你的数据一共有12条,当你查询PageHelper.startPage(7,5)的时候。

以mysql为例,你认为应该是limit 30,5,实际上是limit 10,5,为什么会这样呢?

因为你只有12条数据,每页5条的时候不可能存在第7页,只有3页,所以参数会自动变为startPage(3,5),查询最后一页的结果。

所以如果你使用了合理化,你就要知道为什么会这样,否则就不要配置reasonable(默认false)。

Maven坐标

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

下载JAR包

分页插件pagehelper.jar:

  • https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/

  • http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/

由于使用了sql解析工具,你还需要下载jsqlparser.jar(这个文件完全独立,不依赖其他):

正文到此结束
Loading...