目录
2:在mybatis.xml中配置插件(引入插件时注意前后顺序)
1: 在pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.0</version>
</dependency>
2:在mybatis.xml中配置插件(引入插件时注意前后顺序)
<!-- 配置pageHelper插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
3:handler里编写java代码
/* 开启分页支持,设置查找第几页以及每一页的数据量 */
PageHelper.startPage(pn,6);
/* 分页支持后会自动修改sql语句 */
List<Book> books = bookService.getAllBooks();
/* 获取分页相关信息后保存到page对象 */
PageInfo page = new PageInfo(books);
request.getSession().setAttribute("pageInfo", page);
4: jsp页面的使用
<div align="center">
<span>共${pageInfo.pages}页,当前为第${pageInfo.pageNum} 页,</span>
<a href="${pageContext.request.contextPath}/book/getAllBook.do?pn=${pageInfo.pageNum-1}">上一页</a>
<a href="${pageContext.request.contextPath}/book/getAllBook.do?pn=${pageInfo.pageNum+1}">下一页</a>
</div>
<table>
<tr>
<th>书名</th>
<th>作者</th>
</tr>
</thead>
<%--注意pageInfo的list属性里放的才是所查到的数据--%>
<c:forEach items="${pageInfo.list}" var="book">
<tr>
<td>${book.name}</td>
<td>${book.author}</td>
</tr>
</c:forEach>
</table>
5:PageHelper中PageInfo成员属性
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//排序
private String orderBy;
//可以在页面中"显示startRow到endRow n条数据"
private int startRow;
private int endRow;
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List<T> list;
//第一页
private int firstPage;
//前一页
private int prePage;
//下一页
private int nextPage;
//最后一页
private int lastPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;