5月23日 西安 OSC 源创会开始报名啦,存储、虚拟机、Docker 等干货分享
如果你也在用Mybatis,建议尝试该分页插件,这一定是 最方便 使用的分页插件。
该插件目前支持以下数据库的 物理分页 :
Oracle
Mysql
MariaDB
SQLite
Hsqldb
PostgreSQL
DB2
SqlServer(2005+)
3.7.2更新日志:
jsqlparser解析sql会抛出Error异常,由于只捕获Exception,所以导致部分解析失败的sql无法使用嵌套方式处理,所以修改为捕获Throwable。
<!-- 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>
分页插件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(这个文件完全独立,不依赖其他):