Java分页工具类:PageUtils详解
这段代码实现了一个名为 PageUtils 的分页工具类,用于管理和处理分页相关数据。
属性说明:
total: 总记录数。pageSize: 每页记录数。totalPage: 总页数。currPage: 当前页数。list: 列表数据。
构造方法:
PageUtils(List<?> list, int totalCount, int pageSize, int currPage): 传入列表数据、总记录数、每页记录数、当前页数,计算得到总页数,并初始化PageUtils对象的属性。PageUtils(Page<?> page): 传入 Mybatis-Plus 的Page对象,从中获取列表数据、总记录数、每页记录数、当前页数、总页数,并初始化PageUtils对象的属性。PageUtils(Map<String, Object> params): 传入一个Map对象,根据其中的参数构造一个 Mybatis-Plus 的Page对象,并调用第二个构造方法初始化PageUtils对象的属性。
Getter 和 Setter 方法:
该类还提供了每个属性的 getter 和 setter 方法,用于获取和设置属性值。
使用方法:
PageUtils 类可以方便地用于实现分页功能。例如,在查询数据时,可以将查询结果封装成 Page 对象,然后使用 PageUtils 对象进行处理,从而得到分页后的数据。
代码示例:
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;
}
}
原文地址: https://www.cveoy.top/t/topic/gQdG 著作权归作者所有。请勿转载和采集!