后端分頁操作-springboot (所有類型的數據通用)


springboot項目少不了對數據做統計報表,這個時候就會涉及到前后端分頁操作。一般前端給后端傳遞當前頁數和每頁數據條數即可。

后端來實現分頁的所有操作。最近有碰到,所有的操作總結如下:

一:pom文件中引入依賴。

<dependency>

       <groupId>com.github.pagehelper</groupId>

       <artifactId>pagehelper-spring-boot-starter</artifactId>

       <version>1.2.7</version>

</dependency>

 

 

 二:實體類文件夾下定義PageBean工具類(我的項目中是寫在domains文件夾下)

package com.fykj.cloud.epaper.entity.bean; import java.util.List; /** * 分頁bean */ public class PageBean<T> { // 當前頁 private Integer currentPage = 1; // 每頁顯示的總條數 private Integer pageSize = 10; // 總條數 private Integer totalNum; // 是否有下一頁 private Integer isMore; // 總頁數 private Integer totalPage; // 開始索引 private Integer startIndex; // 分頁結果 private List<T> items; public PageBean() { super(); } public PageBean(Integer currentPage, Integer pageSize, Integer totalNum) { super(); this.currentPage = currentPage; this.pageSize = pageSize; this.totalNum = totalNum; this.totalPage = (this.totalNum+this.pageSize-1)/this.pageSize; this.startIndex = (this.currentPage-1)*this.pageSize; this.isMore = this.currentPage >= this.totalPage?0:1; } public PageBean(Integer currentPage, Integer pageSize, Integer totalNum,List<T> list){ this(currentPage,pageSize, totalNum); this.items = list; } public Integer getCurrentPage() { return currentPage; } public void setCurrentPage(Integer currentPage) { this.currentPage = currentPage; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalNum() { return totalNum; } public void setTotalNum(Integer totalNum) { this.totalNum = totalNum; this.totalPage = (this.totalNum+this.pageSize-1)/this.pageSize; this.startIndex = (this.currentPage-1)*this.pageSize; this.isMore = this.currentPage >= this.totalPage?0:1; } public Integer getIsMore() { return isMore; } public void setIsMore(Integer isMore) { this.isMore = isMore; } public Integer getTotalPage() { return totalPage; } public void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } public Integer getStartIndex() { return startIndex; } public void setStartIndex(Integer startIndex) { this.startIndex = startIndex; } public List<T> getItems() { return items; } public void setItems(List<T> items) { this.items = items; } }
3.分頁功能代碼實現(service層及serviceImpl層)
service層
public PageBean<UserBlackList> selectUserBlackListList(Integer currentPage, Integer pageSize, UserBlackList userBlackList) 

  service實現層

@Override
    public PageBean<UserBlackList> selectUserBlackListList(Integer currentPage, Integer pageSize, UserBlackList userBlackList) { try { PageBean<UserBlackList> entity = new PageBean(); if (null != pageSize) { entity.setPageSize(pageSize); } if (null != currentPage) { entity.setCurrentPage(currentPage); } PageHelper.startPage(entity.getCurrentPage(), entity.getPageSize()); List<UserBlackList> list = userBlackListMapper.queryModelList(userBlackList);//獲取需要分頁的所有數據 Integer count = userBlackListMapper.queryModelListCount(userBlackList);//獲取分頁的數據總數 entity.setItems(list); entity.setTotalNum(count); return entity; } catch (Exception e) { e.printStackTrace(); return null; } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM