前言
本篇文章主要是對 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 [email protected]
* <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社區。
作 者: | 華 仔 |
聯繫作者: | [email protected] |
來 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/89356580 |
版權聲明: | 本文爲博主原創文章,請在轉載時務必註明博文出處! |