You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gym/PageUtils.java

114 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// 声明该类所在的包为 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;
}
}