Mybatis分页插件 - PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) Informix 3.7.2更新日志: jsqlparser解析sql会抛出Error异常,由于只捕获Exception,所以导致部分解析失败的sql无法使用嵌套方式处理,所以修改为捕获Throwable。 [COLOR=rgba(0, 0, 0, 0.8)]reasonable参数说明[/COLOR] <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 --> <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages(总页数)会查询最后一页 --> <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 --> <property name="reasonable" value="false"/> [COLOR=rgba(0, 0, 0, 0.8)]由于许多人直接复制文档中的配置,没有仔细看该参数的含义,导致查询莫名其妙,这里强调一下。[/COLOR] [COLOR=rgba(0, 0, 0, 0.8)]如果你配置了该参数为true,那么如果你的数据一共有12条,当你查询PageHelper.startPage(7,5)的时候。[/COLOR] [COLOR=rgba(0, 0, 0, 0.8)]以mysql为例,你认为应该是limit 30,5,实际上是limit 10,5,为什么会这样呢?[/COLOR] [COLOR=rgba(0, 0, 0, 0.8)]因为你只有12条数据,每页5条的时候不可能存在第7页,只有3页,所以参数会自动变为startPage(3,5),查询最后一页的结果。[/COLOR] [COLOR=rgba(0, 0, 0, 0.8)]所以如果你使用了合理化,你就要知道为什么会这样,否则就不要配置reasonable(默认false)。[/COLOR] 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(这个文件完全独立,不依赖其他): http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/ http://git.oschina.net/free/Mybatis_PageHelper/attach_files 项目文档: 如何使用分页插件 重要提示 更新日志 更多可以查看www.mybatis.tk Mybatis 分页插件 3.7.2 发布下载地址