/**
* 頁面裡的一頁資料的對象
* @author BluceYoung
*
*/
public class PageUtil<T> {
private int pageNo;//目前第幾頁
private int pageCount;//共多少頁
private int pageSize=5;//每頁顯示多少條
private int totalCount;//總資料條數
List<T> listData=new ArrayList<T>();
/**
* 擷取目前頁碼
* @return
*/
public int getPageNo() {
return pageNo;
}
/**
* 擷取總頁數
* @return
*/
public int getPageCount() {
return pageCount;
}
/**
* 擷取每頁資料條數
* @return
*/
public int getPageSize() {
return pageSize;
}
/**
* 擷取總資料條數
* @return
*/
public int getTotalCount() {
return totalCount;
}
/**
* 擷取本頁資料集合
* @return
*/
public List<T> getListData() {
return listData;
}
/**
* 設定目前頁碼,下限1,上限pageCount
* @param pageNo
*/
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
if(this.pageNo<1) {
this.pageNo=1;
}
if(this.totalCount>0 && pageNo >pageCount) {//頁碼超過總頁數
this.pageNo=pageCount;//設定為末頁
}
}
/**
* 設定每頁資料條數
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 設定總資料條數
* @param totalCount
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
//計算總頁數
this.pageCount=totalCount/pageSize;
if(totalCount%pageSize>0) {//頁數不夠,得加一頁
this.pageCount++;
}
}
/**
* 設定目前頁資料
* @param listData
*/
public void setListData(List<T> listData) {
this.listData = listData;
}
/**
* 執行個體化一個資料頁,确定:每頁條數、總資料數、總頁數
* @param pageSize
* @param totalCount
*/
public PageUtil(int pageSize, int totalCount) {
super();
this.pageSize = pageSize;
setTotalCount(totalCount);
}
/**
* 根據頁碼擷取查詢語句的limit開始
* @param pageNo
* @return
*/
public int getLimitStart(int pageNo) {
return (pageNo-1)*this.pageSize;
}
}