1.1 Pom.xml文件中加入pagehelper依赖
<!-- 分页 -->
<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.5</version>
</dependency>
<dependency>
<groupId>jsptags</groupId>
<artifactId>pager-taglib</artifactId>
<version>2.0</version>
</dependency>
1.2 把包pageUtil拷贝到framework.utils目录下

1.3 applicationContext-fy.xml拷贝到mybatis文件中
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="callSettersOnNulls" value="true" />
</settings>
<!-- 配置分页插件 -->
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!--方言: 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
<property name="dialect" value="mysql" />
</plugin>
</plugins>
</configuration>
1.4 在mybatis-config中添加如下代码
<!-- 分页相关 -->
<setting name="callSettersOnNulls" value="true" />
</settings>
<!-- 分页相关 -->
<plugins>
<!-- com.github.pagehelper为PageHelper类所在包名 -->
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
<property name="dialect" value="mysql" />
</plugin>
</plugins>
1.5 把js包放到webapp应用下面

1.6 在分页页面中加入相应插件js和csss,并增加其他部分
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<!-- 增加1 -->
<%-- 分页相关 --%>
<script type="text/javascript" src="<%=basePath%>js/jquery.js"></script>
<script type="text/javascript" src="<%=basePath%>js/kkpager/jpager.js"></script>
<link rel="stylesheet" type="text/css"
href="<%=basePath%>js/kkpager/jpager.css">
<script type="text/javascript"
src="<%=basePath%>view/system/user/listPage.js"></script>
<script type="text/javascript">
function load() {
arrayPage(${pageResult.pages},${pageResult.total});
}
</script>
</head>
<body onload="load()"><!-- 增加2-->
<div align="center">
<h1>用户列表页面</h1>
<hr>
<form method="post" action="">
<div>
<table align="center" border="1" width="80%">
<tr>
<td>用户ID</td>
<td>名称</td>
<td>年龄</td>
<td>性别</td>
<td>爱好</td>
<td>登录名</td>
<td>密码</td>
<td>创建时间</td>
</tr>
<!--<c:forEach items="${userList}" var="user"><!-- 增加3 -->
<c:forEach items="${pageResult.dataList}" var="user"><!-- 增加3 -->
<tr>
<td><input type="checkbox" name="id[]"
value="${user.userId }" />${user.userId }</td>
<td>${user.name }</td>
<td>${user.age }</td>
<td>${user.sex }</td>
<td>${user.hobby }</td>
<td>${user.loginName }</td>
<td>${user.password }</td>
<td><fmt:formatDate value="${user.createTime }"
pattern="yyyy-MM-dd HH:ss:mm" /></td>
</tr>
</c:forEach>
</table>
</div>
<div align="center" id="jpager"></div><!-- 增加4 -->
</form>
</div>
</body>
</html>
1.7 拷贝listPage.js
1.8 在控制器写分页方法
public ModelAndView listPage(@RequestParam(value = "pageNumber", defaultValue = "1") Integer pageNumber,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) {
System.out.println("------------------传统---------------------");
ModelAndView mv = new ModelAndView();
PagedResult<User> pageResult = userService.getAllByPage(pageNumber, pageSize);
mv.addObject("pageResult", pageResult);
mv.setViewName("system/user/userList");
return mv;
}
1.9 重写实现层
PageHelper.startPage(pageNumber, pageSize);
List<User> userlist = userMapper.queryAllUser();
return PageBeanUtil.toPagedResult(userlist);