Springboot使用pagehelper实现分页

  • Post author:
  • Post category:其他

springboot整合pagehelper实现分页

一、导入依赖

<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version> 
</dependency>

二、调用分页方法

public PageInfo findPage(@RequestParam(defaultValue="1") int pageNum,int pageSize){
  PageHelper.startPage(pageNum,pageSize);
  List<Company> List=companyDao.selectAll();
  PageInfo pageInfo = new PageInfo(list);
  return pageInfo;
 }

在查询方法里写入PageHelper.startPage(page.getPage(), page.getRows());

参数:当前页码,每页查询条数

返回的信息就是pageInfo对象,该类是插件里的类,这个类里面的属性还是值得看一看

public class PageInfo<T> implements Serializable {
private static final long serialVersionUID = 1L;
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//由于startRow 和endRow 不常用,这里说个具体的用法
//可以在页面中"显示startRow 到endRow 共size 条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List<T> list;
//前一页
private int prePage;
//下一页
private int nextPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
传智播客——专注于Java、.Net 和Php、网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
//导航条上的最后一页
private int navigateLastPage;
}

三、构建页面代码

<table class="table">
	<thead>
		<tr>									
			<th>部门</th>
			<th>人数</th>
			<th>领导</th>
			<th>当前任务</th>
			<th th:if="${session.staff.level} == '1' ">操作</th>
		</tr>
	</thead>
	<tbody>
		<tr th:each="dpm:${info.list}">
			<td hidden th:text="${dpm.id}"></td>
			<td th:text="${dpm.name}"></td>
			<td th:text="${dpm.nop}"></td>
			<td th:text="${dpm.leader}"></td>
			<td th:text="${dpm.task}"></td>
			<td><a class="btn btn-danger"
				th:if="${session.staff.level} == '1' " 
				th:href="@{/deleteDepartment(id=${dpm.id})}">解散</a>
            </td>
		</tr>
	</tbody>
</table>
<div class="page">
	<span class="pageinfo"><label id="total" th:text="${info.total}" style="color: red"></label>条/ 
    	<label th:text="${info.pages}" style="color: red"></label>页/ 当前第
    	<label th:text="${infopag.eNum}" style="color: red"></label></span> 
    <a th:if="${info.pageNum>1}" th:href="@{/toDepartmentList(pageNum=${1})}" 				class="pagefirst">首页</a>
	<a th:if="${info.pageNum>1}" 
       th:href="@{/toDepartmentList(pageNum=${info.pageNum-1})}"
	 class="pageup">上一页</a> 
    <b th:each="nav:${info.navigatepageNums}">
		<a th:href="@{/toDepartmentList(pageNum=${nav})}"
			th:text="${nav}" th:if="${nav!=info.pageNum}"></a>
	</b> 
    <a th:if="${info.pageNum<info.pages}" class="pagedown"
		th:href="@{/toDepartmentList(pageNum=${info.pageNum+1})}">下一页</a>
	<a th:if="${info.pageNum<info.pages}"
		th:href="@{/toDepartmentList(pageNum=${info.pages})}" class="pageend">尾页</a>
</div>

四、页面效果

在这里插入图片描述


版权声明:本文为CYH_progress原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。