前言
本篇文章主要是对 Java 自定义分页工具类 PageBean 的提取与封装实列,有需要更多的完整的关于分页的内容,请参看:《 Java自定义分页,结合MySQL的Limit关键字实现快速高效的分页 》
Java自定义分页工具类 PageBean 的提取与封装
示例内容如下:
package com.huazai.b2c.aiyou.common;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
*
* @author HuaZai
* @contact who.seek.me@java98k.vip
* <ul>
* @description 分页工具类
* </ul>
* @className PageBean
* @package com.huazai.b2c.aiyou.common
* @createdTime 2016年7月17日 上午10:40:21
*
* @version V1.0.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PageBean<T>
{
// 当前页
private Long currentNo;
// 单页显示数据条数
private Long pageSize;
// 总的数据条数
private Long totalRecord;
// 总页数
private Long totalPage;
// 开始索引
private Long startIndex;
// 分页显示开始
private Long start;
// 分页限速结束
private Long end;
// 数据集合
private List<T> dataList;
/**
*
* @param currentNo
* 当前页
* @param pageSize
* 单页显示数据条数
* @param totalRecord
* 总的数据条数
*/
public PageBean(Long currentNo, Long pageSize, Long totalRecord)
{
this.currentNo = currentNo;
this.pageSize = pageSize;
this.totalRecord = totalRecord;
// 获取总页数
if (totalRecord % pageSize == 0)
{
this.totalPage = totalRecord / pageSize;
} else
{
this.totalPage = totalRecord / pageSize + 1;
}
this.startIndex = (currentNo - 1) * pageSize;
this.start = 1L;
this.end = 5L;
if (totalPage <= 5)
{
this.end = this.totalPage;
} else
{
this.start = currentNo - 2;
this.end = currentNo + 2;
if (start < 0)
{
start = 1L;
end = 5L;
}
if (end > this.totalPage)
{
this.end = totalPage;
this.start = end - 5;
}
}
}
}
好了,关于 Java自定义分页工具类 PageBean 的提取与封装 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | who.seek.me@java98k.vip |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/89356580 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |