Mybatis分页插件 - PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看重要提示。 想要使用分页插件?请看如何使用分页插件。 物理分页 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2012 Derby Maven坐标: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.0</version> </dependency> 4.2.0 使用新的方式进行分页,4.2版本是从5.0版本分离出来的一个特殊版本,这个版本兼容4.x的所有功能,5.0版本时为了简化分页逻辑,会去掉部分功能,4.2.0是4.x的最后一个版本,有bug还会维护。 支持 MyBatis 3.1.0+ 版本 增加对 Derby 数据库的支持 对除 informix 外的全部数据库进行测试,全部通过 PageHelper增加手动清除方法clearPage() 解决 SqlServer 多个with(nolock)时出错的问题 对CountMappedStatement 进行缓存,配置方式见BaseSqlUtil 319行 由于SqlServer的sql处理特殊,因此增加了两个SQL缓存,具体配置参考SqlServerDialect类 添加 sqlserver 别名进行排序功能,在解析sql时,会自动将使用的别名转换成列名 by panmingzhi 新增sqlCacheClass参数,该参数可选,可以设置sql缓存实现类,默认为SimpleCache,当项目包含guava时,使用GuavaCache,也可以通过参数sqlCacheClass指定自己的实现类,有关详情看com.github.pagehelper.cache包。 解决#135,增加/*keep orderby*/注解,SQL中包含该注释时,count查询时不会移出order by sqlserver 没有 orderby 时,使用order by rand() 进行排序,不再强制要求有 order by。#82 #118 这次更新最大的改动就是分页的实现方式,这本来是属于5.0版本的内容,但是为了兼容4.x版本,特别提供的4.2.0版本。新的 5.0 版本会在 2017年初发布,新的分页插件设计来源于我正在写的 MyBatis 一书。 由于新的实现方式,分页插件现在可以支持 MyBatis 3.1.0+ 版本。 Mybatis 分页插件 PageHelper 4.2.0 发布下载地址