JSP hibernate paging code page 1 of 3

Time:2021-9-19

It can be seen that using hibernate has great flexibility in query paging. Hibernate will first try to use the paging SQL of a specific database. If it is useless, then try scrollable. If not, finally use RSET. Next() to move.
(1) Pager class
* @(#)Pager.java 2005-5-3
*
* Copyright (c) 2005, Jeffrey Hsu
*/
package com.jeffrey.messagelove;
/**
* Pager holds the page info.
*/
public class Pager {
private int totalRows = 0; // Total records
private int totalPages = 0; // PageCount
private int pageSize = 10; // The number of data pieces is displayed on each page. The default is 10 records
private int currentPage = 1; // Current number of pages
private boolean hasPrevious = false; // Is there a previous page
private boolean hasNext = false; // Next page
public Pager() {
}
/**
* Initialize Pager
* @param totalRows total record rows
* @param pageSize total record is hold by every page
*/
public void init(int totalRows, int pageSize) {
this.totalRows = totalRows;
this.pageSize = pageSize;
totalPages = ((totalRows + pageSize) – 1) / pageSize;
refresh(); // Refresh current page information
}
/**
* @return Returns the currentPage.
*/
public int getCurrentPage() {
return currentPage;
}
/**
* @param currentPage current page
*/
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
refresh();
}
/**
* @return Returns the pageSize.
*/
public int getPageSize() {
return pageSize;
}
/**
* @param pageSize The pageSize to set.
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
refresh();
}
/**
* @return Returns the totalPages.
*/
public int getTotalPages() {
return totalPages;
}
/**
* @param totalPages The totalPages to set.
*/
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
refresh();
}
/**
* @return Returns the totalRows.
*/
public int getTotalRows() {
return totalRows;
}
/**
* @param totalRows The totalRows to set.
*/
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
refresh();
}
//Skip to the first page
public void first() {
currentPage = 1;
this.setHasPrevious(false);
refresh();
}
//Get the previous page (just reset the current page)
public void previous() {
currentPage–;
refresh();
}
//Get next page
public void next() {
System.out.println(“next: totalPages: ” + totalPages +
” currentPage : ” + currentPage);
if (currentPage < totalPages) {
currentPage++;
}
refresh();
}
//Skip to the last page
public void last() {
currentPage = totalPages;
this.setHasNext(false);
refresh();
}
public boolean isHasNext() {
return hasNext;
}
/**
* @param hasNext The hasNext to set.
*/
public void setHasNext(boolean hasNext) {
this.hasNext = hasNext;
}
public boolean isHasPrevious() {
return hasPrevious;
}
/**
* @param hasPrevious The hasPrevious to set.
*/
public void setHasPrevious(boolean hasPrevious) {
this.hasPrevious = hasPrevious;
}