public class Pager {
private long totalRows; // 总行数
private int pageSize = 15; // 每页显示的行数
private long currentPage; // 当前页号
private long totalPages; // 总页数
private long startRow; // 当前页在数据库中的起始行
public Pager(long totalRows) {
this.totalRows = totalRows;
totalPages = totalRows / pageSize;
long mod = totalRows % pageSize;
if (mod > 0) {
totalPages++;
}
currentPage = 1;
startRow = 0;
}
public long getStartRow() {
return startRow;
}
public long getTotalPages() {
return totalPages;
}
public long getCurrentPage() {
return currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setTotalRows(long totalRows) {
this.totalRows = totalRows;
}
public void setStartRow(long startRow) {
this.startRow = startRow;
}
public void setTotalPages(long totalPages) {
this.totalPages = totalPages;
}
public void setCurrentPage(long currentPage) {
if(currentPage<1||currentPage>pageSize){
return ;
}
else{
this.currentPage = currentPage;
startRow = (currentPage - 1) * pageSize;
}
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public long getTotalRows() {
return totalRows;
}
public void first() {
currentPage = 1;
startRow = 0;
}
public void previous() {
if (currentPage == 1) {
return;
}
currentPage--;
startRow = (currentPage - 1) * pageSize;
}
public void next() {
if (currentPage < totalPages) {
currentPage++;
}
startRow = (currentPage - 1) * pageSize;
}
public void last() {
currentPage = totalPages;
startRow = (currentPage - 1) * pageSize;
}
public void refresh(long _currentPage) {
currentPage = _currentPage;
if (currentPage > totalPages) {
last();
}
}
}