这段代码实现了一个名为 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 方法:

该类还提供了每个属性的 gettersetter 方法,用于获取和设置属性值。

使用方法:

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;
	}
	
}
Java分页工具类:PageUtils详解

原文地址: https://www.cveoy.top/t/topic/gQdG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录