分页操作比较简单,我就简单的讲一下步骤和代码。
1、导入jar包,在pom.xml文件中添加代码
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2、告诉mybatis要用pagehelper 添加到sqlsessionfactroybean。在applicationContext.xml文件下添加代码
<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层,添加PageHelper.startPage(page,size),注意函数加上了参数
public List<UserInfo> findAll(int page,int size) {
PageHelper.startPage(page,size);
return userDao.findAll();
}
4、在controler层,把得到的list装到pageinfo里面
public ModelAndView findAll(int page,int size){
ModelAndView mv=new ModelAndView();
List<UserInfo> infos = userService.findAll(page, size);
PageInfo pageInfo=new PageInfo(infos);
mv.addObject("ps",pageInfo);
mv.setViewName("user-list");
return mv;
}
5、修改页面中的代码,展示分页效果
<ul class="sidebar-menu">
<li class="header">菜单</li>
<li id="admin-index"><a
href="#"><i
class="fa fa-dashboard"></i> <span>首页</span></a></li>
<li class="treeview"><a href="#"> <i class="fa fa-cogs"></i>
<span>系统管理</span> <span class="pull-right-container"> <i
class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li id="system-setting">
<a
href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5"> <i
class="fa fa-circle-o"></i> 用户管理
</a>
</li>
<li id="system-setting"><a
href="#"> <i
class="fa fa-circle-o"></i> 角色管理
</a></li>
</ul>
</li>
</ul>
<div class="box-tools pull-right">
<ul class="pagination">
<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>
</ul>
</div>
<tbody>
<c:forEach var="user" items="${ps.list}">
<tr>
<td><input name="ids" type="checkbox"></td>
<td>${user.id}</td>
<td>${user.username}</td>
<td>${user.password}</td>
<td class="text-center">
<a href="#" class="btn bg-olive btn-xs">更新</a>
<a href="#" class="btn bg-olive btn-xs">删除</a>
<a href="#" class="btn bg-olive btn-xs">添加角色</a>
</td>
</tr>
</c:forEach>
</tbody>
实际效果如下图所示