Hibernate Pager基础介绍

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

Hibernate Pager具体实现

1.Hibernate Pager类

  1. package com.jpcf.db.helper;  
  2. import java.math.*;  
  3. public class Pager {  
  4. private int totalRows; //总行数  
  5. private int pageSize = 10; //每页显示的行数  
  6. private int currentPage; //当前页号  
  7. private int totalPages; //总页  
  8. private int startRow; //当前页在数据库中的起始行  
  9. public Pager() {  
  10. }  
  11. public Pager(int _totalRows) {  
  12. totalRows = _totalRows;  
  13. totalPages=totalRows/pageSize;  
  14. int mod=totalRows%pageSize;  
  15. if(mod>0){  
  16. totalPages++;  
  17. }  
  18. currentPage = 1;  
  19. startRow = 0;  
  20. }  
  21. public int getStartRow() {  
  22. return startRow;  
  23. }  
  24. public int getTotalPages() {  
  25. return totalPages;  
  26. }  
  27. public int getCurrentPage() {  
  28. return currentPage;  
  29. }  
  30. public int getPageSize() {  
  31. return pageSize;  
  32. }  
  33. public void setTotalRows(int totalRows) {  
  34. this.totalRows = totalRows;  
  35. }  
  36. public void setStartRow(int startRow) {  
  37. this.startRow = startRow;  
  38. }  
  39. public void setTotalPages(int totalPages) {  
  40. this.totalPages = totalPages;  
  41. }  
  42. public void setCurrentPage(int currentPage) {  
  43. this.currentPage = currentPage;  
  44. }  
  45. public void setPageSize(int pageSize)   
  46. this.pageSize = pageSize;  
  47. }  
  48. public int getTotalRows() {  
  49. return totalRows;  
  50. }  
  51. public void first() {  
  52. currentPage = 1;  
  53. startRow = 0;  
  54. }  
  55. public void previous() {  
  56. if (currentPage == 1) {  
  57. return  
  58. }  
  59. currentPage--;  
  60. startRow = (currentPage - 1) * pageSize;  
  61. }  
  62. public void next() {  
  63. if (currentPage < totalPages) {  
  64. currentPage++;  
  65. }  
  66. startRow = (currentPage - 1) * pageSize;  
  67. }  
  68. public void last() {  
  69. currentPage = totalPages;  
  70. startRow = (currentPage - 1) * pageSize;  
  71. }  
  72. public void refresh(int _currentPage)   
  73. currentPage = _currentPage;  
  74. if (currentPage > totalPages) {  
  75. last();  
  76. }  
  77. }  

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

2.Hibernate PagerHelp类

  1. package com.jpcf.db.helper;  
  2. import javax.servlet.http.*;  
  3. public class PagerHelper {  
  4. public static Pager getPager(HttpServletRequest httpServletRequest,  
  5. int totalRows) {  
  6. //定义pager对象,用于传到页面  
  7. Pager pager = new Pager(totalRows);  
  8. //从Request对象中获取当前页号String currentPage = httpServletRequest.
  9. getParameter("currentPage");  
  10. //如果当前页号为空,表示为首次查询该页  
  11. //如果不为空,则刷新pager对象,输入当前页号等信  
  12. if (currentPage != null) {  
  13. pager.refresh(Integer.parseInt(currentPage));  
  14. }  
  15. //获取当前执行的方法,首页,前一页,后一页,尾页。  
  16. String pagerMethod = httpServletRequest.getParameter("pageMethod");  
  17. if (pagerMethod != null) {  
  18. if (pagerMethod.equals("first")) {  
  19. pager.first()  
  20. } else if (pagerMethod.equals("previous")) {  
  21. pager.previous();  
  22. } else if (pagerMethod.equals("next")) {  
  23. pager.next();  
  24. } else if (pagerMethod.equals("last")) {  
  25. pager.last();  
  26. }  
  27. }  
  28. return pager;  
  29. }  

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-09-27 14:41:05

Hibernate I

2009-09-25 13:55:05

Hibernate使用

2009-09-28 13:49:44

Hibernate Q

2009-09-25 09:46:03

Hibernate s

2009-06-17 11:18:02

Hibernate延迟

2009-09-23 17:41:05

Hibernate事务

2009-06-24 08:05:56

Hibernate基础Configurati

2009-09-21 17:33:50

Hibernate基础

2009-09-27 14:24:10

Hibernate配置

2009-09-22 10:57:42

Hibernate专业

2009-09-28 10:14:08

Hibernate基础

2009-09-22 14:23:37

Hibernate S

2009-09-21 14:50:01

Hibernate部署

2009-06-12 16:00:13

Session方法Hibernate

2009-06-25 16:52:34

2009-09-27 10:10:47

Hibernate处理

2009-09-24 10:13:05

Hibernate版本

2009-09-28 10:05:27

Hibernate基础

2009-09-21 13:19:06

Hibernate s
点赞
收藏

51CTO技术栈公众号