分頁工具類

自己寫的一個分頁工具類,有待改善,可根據實際需要進行修改:

package com.hsm.utils;


//分頁類  輔助類 不用實現序列化接口  Serializable
public class Page {
long totalRowsAmount; // 總行數,hibernate語句返回的是Long型的數據
int pageSize = 4; // 每頁行數、即顯示的數據個數
int currentPage = 1; // 當前頁碼
int totalPages; // 總頁數
int pageStartRow;// 顯示頁的開始顯示數據行、返回的結果集中的
int pageEndRow;// 顯示頁的末尾顯示數據行、返回的結果集中的,基本用不到


/*
* @return
*/
public long getTotalRowsAmount() {
return totalRowsAmount;
}


/*
* @param t 設置總行數
*/
public void setTotalRowsAmount(long n) {
this.totalRowsAmount = n;
}


public int getPageSize() {
return pageSize;
}


/*
* @param pageSize 設置每頁顯示的數據個數、即行數
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}


public int getCurrentPage() {
return currentPage;
}


/*
* @param currentPage 設置當前頁碼數
*/
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}


/*
* 總頁數的獲取
*/
public int getTotalPages() {
return (int) ((this.getTotalRowsAmount() - 1) / this.getPageSize() + 1);
}


public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}


public int getPageStartRow() {
if (getCurrentPage() * getPageSize() < getTotalRowsAmount()) {
pageStartRow = getPageEndRow() - getPageSize() + 1;
} else {
pageStartRow = (int) (getPageSize() * (getTotalPages() - 1) + 1);
}
return pageStartRow;
}


/*
* @param pageStartRow 設置當前頁顯示的開始數據行數
*/
public void setPageStartRow(int pageStartRow) {
this.pageStartRow = pageStartRow;
}


public int getPageEndRow() {
if (getCurrentPage() * getPageSize() < getTotalRowsAmount()) {
pageEndRow = getCurrentPage() * getPageSize();
} else {
pageEndRow = (int) getTotalRowsAmount();
}
return pageEndRow;
}


/*
* @param pageStartRow 設置當前頁顯示的末尾數據行數
*/
public void setPageEndRow(int pageEndRow) {
this.pageEndRow = pageEndRow;
}


}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章