我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          一個標準的分頁類(用于處理結果集)

          package com.util;

          @SuppressWarnings(
          "unused")
          public class Page
          {
              
          private int currentPage = 1//當前頁
              private int rowPerPage = 5;  //每頁幾條
              private int totalPage;      //總頁數
              private int totalRow;       //總行數
              private boolean hasFirstPage;  //是否有首頁
              private boolean hasNextPage;   //是否有下一頁
              private boolean hasPreviousPage;  //是否有上一頁
              private boolean hasLastPage;     //是否有末頁

              
          public void init(int currentPage,int totalRow)
              
          {
                  
          this.currentPage = currentPage;
                  
          this.totalRow = totalRow;
              }

              
              
          public int getCurrentPage()
              
          {
                  
          return currentPage;
              }


              
          public void setCurrentPage(int currentPage)
              
          {
                  
          this.currentPage = currentPage;
              }

              
          //總頁數
              public int getTotalPage()
              
          {
                  
          return this.totalRow%this.rowPerPage == 0 ? this.totalRow/this.rowPerPage : this.totalRow/this.rowPerPage + 1;
              }


              
          public void setTotalPage(int totalPage)
              
          {
                  
          this.totalPage = totalPage;
              }


              
          public int getRowPerPage()
              
          {
                  
          return rowPerPage;
              }


              
          public void setRowPerPage(int rowPerPage)
              
          {
                  
          this.rowPerPage = rowPerPage;
              }


              
          public int getTotalRow()
              
          {
                  
          return totalRow;
              }


              
          public void setTotalRow(int totalRow)
              
          {
                  
          this.totalRow = totalRow;
              }

              
          //是否有首頁
              public boolean isHasFirstPage()
              
          {
                  
          if(this.getCurrentPage() == 1)
                      
          return false;
                  
          return true;
              }


              
          public void setHasFirstPage(boolean hasFirstPage)
              
          {
                  
          this.hasFirstPage = hasFirstPage;
              }

              
          //是否有最后一頁
              public boolean isHasLastPage()
              
          {
                  
          if(this.currentPage == this.getTotalPage())
                      
          return false;
                  
          return true;
              }


              
          public void setHasLastPage(boolean hasLastPage)
              
          {
                  
          this.hasLastPage = hasLastPage;
              }


              
          public boolean isHasPreviousPage()
              
          {
                  
          if(this.isHasFirstPage())
                      
          return true;
                  
          return false;
              }


              
          public void setHasPreviousPage(boolean hasPreviousPage)
              
          {
                  
          this.hasPreviousPage = hasPreviousPage;
              }


              
          public boolean isHasNextPage()
              
          {
                  
          if(this.isHasLastPage())
                      
          return true;
                  
          return false;
              }


              
          public void setHasNextPage(boolean hasNextPage)
              
          {
                  
          this.hasNextPage = hasNextPage;
              }

          }

          示例:一個查詢所有用戶的方法
          public List<User> findAllUser(int currentPage, int rowPerPage)
              
          {
                  Session session 
          = this.getHibernateTemplate().getSessionFactory().openSession();
                  Query query 
          = session.createQuery("from User u");
                  
          int startRow = (currentPage -1* rowPerPage;
                  query.setFirstResult(startRow);
                  query.setMaxResults(rowPerPage);
                  
                  
          把當前頁和每頁的要顯示的行數傳入即可.


          posted on 2007-12-02 20:35 々上善若水々 閱讀(790) 評論(0)  編輯  收藏 所屬分類: JavaWeb

          主站蜘蛛池模板: 磐安县| 都江堰市| 余江县| 永寿县| 义马市| 夏邑县| 汉中市| 东兰县| 镇安县| 大石桥市| 英山县| 越西县| 乳源| 新巴尔虎左旗| 元阳县| 策勒县| 竹北市| 鄂尔多斯市| 浮梁县| 通河县| 清徐县| 丽水市| 长垣县| 交口县| 留坝县| 长泰县| 永嘉县| 尼玛县| 鹿邑县| 玛纳斯县| 平原县| 文安县| 长葛市| 乡城县| 海城市| 老河口市| 海南省| 景泰县| 颍上县| 余干县| 紫金县|