/**
* 頁面裏的一頁數據的對象
* @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;
}
}