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