封装分页类PageInfo

本文详细介绍了如何使用Java中的PageInfo类进行分页数据的处理与存储,包括页面索引、页面大小、记录总数及分页数据的获取与设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.hc.po;

public class PageInfo {
	
	private int pageIndex=0;//下标
	private int pageSize=3;//页大小
	private int recordCount=0;//总条数;
	private Object data;//分页数据
	public int getPageIndex() {
		return pageIndex;
	}
	public void setPageIndex(int pageIndex) {
		this.pageIndex = pageIndex;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getRecordCount() {
		return recordCount;
	}
	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}
	public int getPageCount() { //用于获取所有数据总共分为多少页,获取到的总数据出除以每页数据可以直接得到
		return (int)Math.ceil(recordCount/(double)pageSize);
	}

	public Object getData() {
		return data;
	}
	public void setData(Object data) {
		this.data = data;
	}
}

### MyBatisPlus 分页查询获取 PageInfo 示例 在使用 MyBatis-Plus 进行分页查询时,可以通过 `Page` 来实现分页功能。为了进一步处理分页后的数据并获得详细的分页信息,可以借助 `PageInfo` 对象[^2]。 #### 创建分页对象 首先创建一个 `Page<T>` 对象用于封装分页参数: ```java // 假设 T 代表实体型, current 表示当前页码, size 表示每页显示记录数 Page<T> page = new Page<>(current, size); ``` #### 执行分页查询 接着调用 Mapper 接口中的方法执行带有分页条件的查询操作: ```java IPage<T> iPage = yourMapper.selectPage(page, null); // 如果有额外查询条件可放入 Wrapper 中作为第二个参数 ``` 这里返回的是实现了 IPage 接口的对象实例,它不仅包含了查询到的数据列表还携带有关于总条目数量等其他有用的信息。 #### 将结果转换为 PageInfo 由于 MyBatis-Plus 返回的结果已经包含了足够的分页信息,可以直接利用这些属性构建 `PageInfo` 实例: ```java import com.github.pagehelper.PageInfo; List<T> records = iPage.getRecords(); long total = iPage.getTotal(); PageInfo<T> pageInfo = new PageInfo<>(records); pageInfo.setTotal(total); System.out.println("总记录数:" + pageInfo.getTotal()); System.out.println("第几页:" + pageInfo.getPageNum()); System.out.println("页面大小:" + pageInfo.getPageSize()); System.out.println("是否有下一页:" + pageInfo.isHasNextPage()); ``` 上述代码片段展示了如何基于 MyBatis-Plus 查询得到的结果集初始化 `PageInfo` 并访问其中的一些常用字段[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值