在项目中集成mybtis时,遇到分页的问题,最终决定使用使用pagehelper工具进行分页,是一个不错的选择
一、 下载pagehelper 的 jar包(我做的时候是下载的4.1.6,如果使用maven搭建项目就将依赖加入即可)。
https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/
二、下载jsqlparser.jar
http://repo1.maven.org/maven2/com/github/jsqlparser/jsqlparser/0.9.1/
三、在mybatis_config.xml 里添加配置
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<property name="dialect" value="sqlserver"/>
<!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
<!-- 和startPage中的pageNum效果一样-->
<property name="offsetAsPageNum" value="true"></property>
<!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
<!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
<!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
<property name="reasonable" value="true"></property>
</plugin>
</plugins>
四、在使用时
(1)写上pagehelper的分页
PageHelper.startPage(pageIndex,pageSize);//当前页码,每页大小
List list = sqlSessionTemplate.selectList(NAMESPACE+"selectBystrWhere",map); //此处为查询,根据自己需要的写就可以了
PageInfo<Goods> page = new PageInfo<Goods>(list);