|
|
@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
// 声明该类所在的包为 com.utils
|
|
|
|
|
|
|
|
package com.utils;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 导入 Serializable 接口,用于实现对象的序列化
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
|
|
|
// 导入 List 接口,用于存储列表数据
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
// 导入 Map 接口,用于存储键值对数据
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 导入 MyBatis-Plus 框架的 Page 类,用于分页操作
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定义一个公共类 PageUtils,用于处理分页相关的操作,实现 Serializable 接口以便对象可以序列化
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定义一个构造函数,根据传入的列表数据、总记录数、每页记录数和当前页数进行分页信息初始化
|
|
|
|
|
|
|
|
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
|
|
|
|
|
|
|
|
// 将传入的列表数据赋值给类的成员变量
|
|
|
|
|
|
|
|
this.list = list;
|
|
|
|
|
|
|
|
// 将传入的总记录数赋值给类的成员变量
|
|
|
|
|
|
|
|
this.total = totalCount;
|
|
|
|
|
|
|
|
// 将传入的每页记录数赋值给类的成员变量
|
|
|
|
|
|
|
|
this.pageSize = pageSize;
|
|
|
|
|
|
|
|
// 将传入的当前页数赋值给类的成员变量
|
|
|
|
|
|
|
|
this.currPage = currPage;
|
|
|
|
|
|
|
|
// 计算总页数,使用 Math.ceil 方法确保结果向上取整
|
|
|
|
|
|
|
|
this.totalPage = (int) Math.ceil((double) totalCount / pageSize);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定义一个构造函数,根据 MyBatis-Plus 的 Page 对象进行分页信息初始化
|
|
|
|
|
|
|
|
public PageUtils(Page<?> page) {
|
|
|
|
|
|
|
|
// 获取 Page 对象中的记录列表并赋值给类的成员变量
|
|
|
|
|
|
|
|
this.list = page.getRecords();
|
|
|
|
|
|
|
|
// 获取 Page 对象中的总记录数并赋值给类的成员变量
|
|
|
|
|
|
|
|
this.total = page.getTotal();
|
|
|
|
|
|
|
|
// 获取 Page 对象中的每页记录数并赋值给类的成员变量
|
|
|
|
|
|
|
|
this.pageSize = page.getSize();
|
|
|
|
|
|
|
|
// 获取 Page 对象中的当前页码并赋值给类的成员变量
|
|
|
|
|
|
|
|
this.currPage = page.getCurrent();
|
|
|
|
|
|
|
|
// 获取 Page 对象中的总页数并赋值给类的成员变量
|
|
|
|
|
|
|
|
this.totalPage = page.getPages();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定义一个构造函数,根据参数 Map 生成 Page 对象并进行分页信息初始化
|
|
|
|
|
|
|
|
public PageUtils(Map<String, Object> params) {
|
|
|
|
|
|
|
|
// 根据参数 Map 创建一个 Query 对象,并获取其对应的 Page 对象
|
|
|
|
|
|
|
|
Page page = new Query(params).getPage();
|
|
|
|
|
|
|
|
// 调用另一个构造函数,使用生成的 Page 对象进行初始化
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|