提供一个page分页类,以后可通用

本文介绍了一个通用的分页类实现,包括如何初始化分页参数、计算总页数、获取当前页码及判断是否存在上下页等功能。该类适用于Java应用程序中的分页需求。

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

package com.openb2c.ptg.common.basic.model; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * 分页类 * @author Zahir * */ @SuppressWarnings("serial") public class Page<T> implements Serializable{ /** * 默认的页面显示记录条数 */ public static int DEFAULT_PAGE_SIZE = 20; /** * 每页的记录数 */ private int pageSize; /** * 当前页第一条数据在List中的位置,默认从0开始 */ private long start; /** * 当前页中存放的记录,类型一般为List */ private List<T> data; /** * 数据库中记录的总条数 */ private int totalSize; /** * 构造方法,只构造空页. */ public Page() { this(0, 0, DEFAULT_PAGE_SIZE, new ArrayList<T>()); } /** * 默认构造方法. * * @param start 本页数据在数据库中的起始位置 * @param totalSize 数据库中总记录条数 * @param pageSize 本页容量 * @param data 本页包含的数据 */ public Page(long start, int totalSize, int pageSize, List<T> data) { this.start = start; this.totalSize = totalSize; this.pageSize = pageSize; this.data = data; } /** * 取总记录数. */ public int getTotalSize() { return this.totalSize; } /** * 取总页数 */ public int getTotalPageCount() { if (totalSize % pageSize == 0) return (int)(totalSize / pageSize); else return (int)(totalSize / pageSize + 1); } /** * 取每页数据容量. */ public int getPageSize() { return pageSize; } /** * 取当前页中的记录. */ public List<T> getdata() { return data; } /** * 取该页当前页码,页码从1开始. */ public long getCurrentPageNo() { return start / pageSize + 1; } /** * 该页是否有下一页. */ public boolean hasNextPage() { return this.getCurrentPageNo() < this.getTotalPageCount(); } /** * 该页是否有上一页. */ public boolean hasPreviousPage() { return this.getCurrentPageNo() > 1; } /** * 获取任一页第一条数据在数据集的位置 * * @param pageNo 从1开始的页号 * @param pageSize 每页记录条数 * @return 该页第一条数据 */ public static int getStartOfPage(int pageNo, int pageSize) { return (pageNo - 1) * pageSize; } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值