Hibernate Pager基础介绍

开发 后端
这里介绍Hibernate Pager类用于计算首页、前一页、下一页、尾页的在数据库中的起始行,当前的页码。
本文向大家介绍Hibernate Pager,可能好多人还不了解Hibernate Pager,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

Hibernate Pager具体实现

1.Hibernate Pager类

package com.jpcf.db.helper;  
import java.math.*;  
public class Pager {  
private int totalRows; //总行数  
private int pageSize = 10; //每页显示的行数  
private int currentPage; //当前页号  
private int totalPages; //总页  
private int startRow; //当前页在数据库中的起始行  
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();  
}  
}  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.

Hibernate Pager类用于计算首页、前一页、下一页、尾页的在数据库中的起始行,当前的页码。

2.Hibernate PagerHelp类

package com.jpcf.db.helper;  
import javax.servlet.http.*;  
public class PagerHelper {  
public static Pager getPager(HttpServletRequest httpServletRequest,  
int totalRows) {  
//定义pager对象,用于传到页面  
Pager pager = new Pager(totalRows);  
//从Request对象中获取当前页号String currentPage = httpServletRequest.
getParameter("currentPage");  
//如果当前页号为空,表示为首次查询该页  
//如果不为空,则刷新pager对象,输入当前页号等信  
if (currentPage != null) {  
pager.refresh(Integer.parseInt(currentPage));  
}  
//获取当前执行的方法,首页,前一页,后一页,尾页。  
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;  
}  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.

Hibernate PagerHelper这个类,我不用说应该也知道用来干嘛了

【编辑推荐】

  1. Hibernate3.1简单描述
  2. Hibernate save基础简介
  3. 浅析Hibernate 3二级缓存基础
  4. Hibernate流行架构浅析
  5. Hibernate update浅谈
责任编辑:佚名 来源: IT168
相关推荐

2009-09-28 10:24:58

Hibernate基础

2009-06-24 08:05:56

Hibernate基础Configurati

2009-09-21 17:33:50

Hibernate基础

2009-06-17 11:18:02

Hibernate延迟

2009-09-23 17:41:05

Hibernate事务

2009-09-25 09:46:03

Hibernate s

2009-09-27 14:41:05

Hibernate I

2009-09-28 13:49:44

Hibernate Q

2009-09-25 13:55:05

Hibernate使用

2009-09-27 10:10:47

Hibernate处理

2009-09-21 14:50:01

Hibernate部署

2009-06-12 16:00:13

Session方法Hibernate

2009-06-25 16:52:34

2009-09-24 10:13:05

Hibernate版本

2009-09-28 10:05:27

Hibernate基础

2009-09-21 13:19:06

Hibernate s

2009-09-21 16:30:20

Hibernate S

2009-09-27 14:24:10

Hibernate配置

2009-09-22 10:57:42

Hibernate专业

2009-09-22 14:23:37

Hibernate S
点赞
收藏

51CTO技术栈公众号