步骤如下:
1.到jar包(在自己项目的)总的pom.xml文件添加下面dependency
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.告诉mybatis要用pagehelper 打开applicationContext.xml,将下面代码添加到sqlsessionfactroybean中
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="resonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
3.在service层,在执行具体sql之前 添加PageHelper.startPage(page,size)代码,如下所示page为页面,size为一页显示的数目
@Override
public List<Userinfo> findAll(int page,int size) {
PageHelper.startPage(page,size);
return userDao.findAll();
}
4.在controler 层 把得到的用户list装到pageinfo里面,代码如下;注:defaultValue为默认值,这里可以自己设置
@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "5")int size){
List<Userinfo> all=userService.findAll(page,size);
PageInfo pageInfo=new PageInfo(all);
ModelAndView mv=new ModelAndView();
mv.addObject("ps",pageInfo);
mv.setViewName("user-list");
return mv;
}
5.页面显示
注:href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5",别忘了传page和size大小
设置上一页、下一页、首页、尾页功能代码如下
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${ps.pageNum-1}&size=5">上一页</a></li>
<c:forEach begin="1" end="${ps.pages}" var="pageNumber">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageNumber}&size=5">${pageNumber}</a></li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${ps.pageNum+1}&size=5">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${ps.pages}&size=5" aria-label="Next">尾页</a></li>
为了避免在首页,点击上一页出现错误,在尾页,点击下一页出现错误,使<prop key="resonable"></prop>填true
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="resonable">true</prop>
</props>
</property>
</bean>
</array>
</property>