发布于 2015-02-04 04:02:06 | 843 次阅读 | 评论: 0 | 来源: 网友投递
MyBatis 基于Java的持久层框架
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。
该插件目前支持以下数据库的物理分页:
Oracle
Mysql
MariaDB
SQLite
Hsqldb
PostgreSQL
DB2
SqlServer(2005+)
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.6.0</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(这个文件完全独立,不依赖其他):
支持db2数据库
支持sqlserver(2005+)数据库
sqlserver注意事项:
请先保证你的SQL可以执行
sql中最好直接包含order by,可以自动从sql提取
如果没有order by,可以通过入参提供,但是需要自己保证正确
如果sql有order by,可以通过orderby参数覆盖sql中的order by
order by的列名不能使用别名(UNION,INTERSECT,MINUS,EXCEPT等复杂sql不受限制,具体可以自己尝试)
表和列使用别名的时候不要使用单引号(')
简单修改结构
startPage方法返回值从void改为Page,获取Page后可以修改参数值
Page增加一个针对sqlserver的属性orderBy,用法看上面的注意事项
Page增加了一个链式赋值的方法,可以像下面这样使用: PageHelper.startPage(1,10).count(false).reasonable(true).pageSizeZero(false)
PageHelper增加了startPage(int pageNum, int pageSize,String orderBy)方法,针对sqlserver