Hibernate Pager基礎(chǔ)介紹
作者:佚名
這里介紹Hibernate Pager類用于計(jì)算首頁、前一頁、下一頁、尾頁的在數(shù)據(jù)庫(kù)中的起始行,當(dāng)前的頁碼。
本文向大家介紹Hibernate Pager,可能好多人還不了解Hibernate Pager,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
Hibernate Pager具體實(shí)現(xiàn)
1.Hibernate Pager類
- package com.jpcf.db.helper;
- import java.math.*;
- public class Pager {
- private int totalRows; //總行數(shù)
- private int pageSize = 10; //每頁顯示的行數(shù)
- private int currentPage; //當(dāng)前頁號(hào)
- private int totalPages; //總頁
- private int startRow; //當(dāng)前頁在數(shù)據(jù)庫(kù)中的起始行
- public Pager() {
- }
- public Pager(int _totalRows) {
- totalRows = _totalRows;
- totalPages=totalRows/pageSize;
- int mod=totalRows%pageSize;
- if(mod>0){
- totalPages++;
- }
- currentPage = 1;
- startRow = 0;
- }
- public int getStartRow() {
- return startRow;
- }
- public int getTotalPages() {
- return totalPages;
- }
- public int getCurrentPage() {
- return currentPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setTotalRows(int totalRows) {
- this.totalRows = totalRows;
- }
- public void setStartRow(int startRow) {
- this.startRow = startRow;
- }
- public void setTotalPages(int totalPages) {
- this.totalPages = totalPages;
- }
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- public void setPageSize(int pageSize)
- this.pageSize = pageSize;
- }
- public int 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(int _currentPage)
- currentPage = _currentPage;
- if (currentPage > totalPages) {
- last();
- }
- }
- }
Hibernate Pager類用于計(jì)算首頁、前一頁、下一頁、尾頁的在數(shù)據(jù)庫(kù)中的起始行,當(dāng)前的頁碼。
2.Hibernate PagerHelp類
- package com.jpcf.db.helper;
- import javax.servlet.http.*;
- public class PagerHelper {
- public static Pager getPager(HttpServletRequest httpServletRequest,
- int totalRows) {
- //定義pager對(duì)象,用于傳到頁面
- Pager pager = new Pager(totalRows);
- //從Request對(duì)象中獲取當(dāng)前頁號(hào)String currentPage = httpServletRequest.
- getParameter("currentPage");
- //如果當(dāng)前頁號(hào)為空,表示為首次查詢?cè)擁?
- //如果不為空,則刷新pager對(duì)象,輸入當(dāng)前頁號(hào)等信
- if (currentPage != null) {
- pager.refresh(Integer.parseInt(currentPage));
- }
- //獲取當(dāng)前執(zhí)行的方法,首頁,前一頁,后一頁,尾頁。
- String pagerMethod = httpServletRequest.getParameter("pageMethod");
- if (pagerMethod != null) {
- if (pagerMethod.equals("first")) {
- pager.first()
- } else if (pagerMethod.equals("previous")) {
- pager.previous();
- } else if (pagerMethod.equals("next")) {
- pager.next();
- } else if (pagerMethod.equals("last")) {
- pager.last();
- }
- }
- return pager;
- }
- }
Hibernate PagerHelper這個(gè)類,我不用說應(yīng)該也知道用來干嘛了
【編輯推薦】
責(zé)任編輯:佚名
來源:
IT168