使用分頁工具類(PageUtils)


此分頁工具類有Mybatis-Plus提供。

首先,引入Mybatis-Plus依賴

 

在application.yml中配置

 

 

 

在啟動類中加入@MapperScan注解(Dao層也可以叫Mapper層,主要用來連接和訪問數據庫,通過dao層的操作可以從數據庫中查詢數據庫並返回響應的數據)

 

 

Dao層繼承BaseMapper接口,BaseMapper接口提供了功能強大的CRUD方法

編寫Mybatis-Plus配置類,啟用分頁插件。

 

創建分頁工具類

 

package com.utils;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.plugins.Page;
/**
* 分頁工具類
*/
public class PageUtils implements Serializable {
private static final long serialVersionUID = 1L;
//總記錄數
private long total;
//每頁記錄數
private int pageSize;
//總頁數
private long totalPage;
//當前頁數
private int currPage;
//列表數據
private List<?> list;
/**
* 分頁
* @param list 列表數據
* @param totalCount 總記錄數
* @param pageSize 每頁記錄數
* @param currPage 當前頁數
*/
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
this.list = list;
this.total = totalCount;
this.pageSize = pageSize;
this.currPage = currPage;
this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
}
/**
* 分頁
*/
public PageUtils(Page<?> page) {
this.list = page.getRecords();
this.total = page.getTotal();
this.pageSize = page.getSize();
this.currPage = page.getCurrent();
this.totalPage = page.getPages();
}
/*
* 空數據的分頁
*/
public PageUtils(Map<String, Object> params) {
Page page =new Query(params).getPage();
new PageUtils(page);
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getCurrPage() {
return currPage;
}
public void setCurrPage(int currPage) {
this.currPage = currPage;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
public long getTotalPage() {
return totalPage;
}
public void setTotalPage(long totalPage) {
this.totalPage = totalPage;
}
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
}

 最后便可以使用分頁功能,selectPage方法是MybatisPlus框架中封裝的一個可以自動分頁的方法,方法有兩個參數,Page<T> page,Wrapper<T> wrapper,第一個參數設置 當前頁 和 當前頁顯示多少條數據 后傳入,第二個參數設置 查詢條件

 

 

 

 


免責聲明!

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



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