import lombok.Data;
import java.io.Serializable;
@Data
public class Page implements Serializable {
private static final long serialVersionUID = -3989189348324121L;
/**
* 默认页码
*/
public static final int DEFAULT_PAGE_NO = 1;
/**
* 默认分页条数
*/
public static final int DEFAULT_PAGE_SIZE = 20;
/**
* 分页最大条数
*/
public static final int MAX_PAGE_SIZE = 500;
/**
* 是否需要分页
*/
private boolean needPagination = true;
private int pageIndex = DEFAULT_PAGE_NO;
private int pageSize = DEFAULT_PAGE_SIZE;
public int getPageIndex() {
// 当前页码小于 1 的话就返回 1
return Math.max(this.pageIndex, 1);
}
public int getPageSize() {
// 分页条数小于 1 返回默认分页条数
if (this.pageSize < 1) {
pageSize = DEFAULT_PAGE_SIZE;
}
// 分页条数大于 500 返回最大条数 500
if (this.pageSize > 500) {
pageSize = MAX_PAGE_SIZE;
}
return this.pageSize;
}
// 获取偏移量
public int getOffset() {
return (this.getPageIndex() - DEFAULT_PAGE_NO) * this.getPageSize();
}
public boolean isNeedPagination() {
return this.needPagination;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setNeedPagination(boolean needPagination) {
this.needPagination = needPagination;
}
}
java 常用后端分页类
最新推荐文章于 2024-02-25 16:43:45 发布
本文介绍了一个名为Page的Java类,用于处理页面分页逻辑,包括默认页码、分页大小的管理以及验证。它展示了如何在实际开发中实现简单易用的分页功能,并关注了核心方法如getPageIndex和getPageSize的实现细节。

6602

被折叠的 条评论
为什么被折叠?



