我的漫漫程序之旅

          專注于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 々上善若水々 閱讀(791) 評論(0)  編輯  收藏 所屬分類: JavaWeb

          主站蜘蛛池模板: 遵义市| 铁岭县| 灵武市| 宿松县| 通州区| 新源县| 清新县| 黔西县| 通辽市| 咸丰县| 宁城县| 新巴尔虎左旗| 治县。| 桑日县| 桐梓县| 弥渡县| 天全县| 田林县| 铅山县| 南昌市| 温泉县| 额敏县| 北海市| 永兴县| 乐清市| 城步| 奉节县| 阿拉善盟| 阿克| 佛山市| 永清县| 咸宁市| 高雄市| 深州市| 修水县| 普定县| 峨眉山市| 永济市| 云阳县| 左贡县| 泸水县|