代碼層的分頁(一次查詢出所有結果,再獲取分頁結果)

      如今分頁的話通常是數據庫分頁,若是查詢結果集不是很大,也能夠在在代碼層分頁;以前項目中碰到過一個數據庫分頁,速度異常慢(幾十秒),後面考慮到結果集不大,就採用這種方案了;數據庫

      初始分頁查詢:start=0,limit=20  數組

//查詢第一條至第二十條數據
          int maxNo=start+limit-1;//19
          int minNo=start; //0 

          for(int i=minNo;i<=maxNo&&i<totalList.size();i++){
                    resultList.add(totalList.get(i));
          }

      其中resultList是此次分頁查詢所須要的結果,totalList是總查詢結果,minNo爲totalList開始下標,maxNo爲結束下標,i<=maxNo&&i<totalList.size() 後半句很關鍵,由於若是查詢出來的結果條數不夠20條,好比說只有5條,這時沒有後半句限制的話,條件就是i<=19,循環二十次,然而totalList總共才五條數據,這時候就會報數組越界錯誤。get

相關文章
相關標籤/搜索