本文简单的介绍了如何运用PageHelper插件实现分页功能。
一、在 pom.xml 中添加如下依赖:
从下面的地址中查看最新版本的 jar 包
-
https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/
-
http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/
<!-- 添加分布插件的包pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.1</version>
</dependency>
二、 在 Spring 配置文件中配置拦截器插件,使用 plugins 属性进行配置
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--使用下面的方式配置参数,一行配置一个 -->
<value>
offsetAsPageNum=true
rowBoundsWithCount=true
pageSizeZero=true
reasonable=true
</value>
</property>
</bean>
</array>
</property>
</bean>
三、Dao层实现的方法(切记SQL语句后面不能加分号)
@Select({
" select * from answer",
" where answerId=47"
})
List<Answer> selectUserByUserName();
四、Services层实现的方法,其中PageInfo对象如图所示
/**
* 测试分页方法
*/
public void test(){
int pageNo = 2;
int pageSize = 10;
PageHelper.startPage(pageNo, pageSize); //startPage是告诉拦截器说我要开始分页了。分页参数是这两个。
List<Answer> list = iAnswerDao.selectUserByUserName() ;
PageInfo page = new PageInfo(list);
System.out.println(page.toString());
}
五、参考
GitHub:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md
Spring+Mybatis+SpringMVC后台与前台分页展示实例