web分頁實現的三種方式

個人所知的web分頁的三種方式,閒來無事總結一下。

1、使用前端表格插件進行分頁

例如用bootstrap的拓展table組件,注意設置其分頁屬性時設置爲“client”,

即是 sidePagination:"client", //客戶端分頁,如果改成server就是服務端分頁。

對應的table組件會直接解析你的提供的數據進行分頁操作。

優點:實現簡單,直接設置前端table組件的參數即可。

缺點:從其實現原理上即可看出,這個數據是用戶請求一次,服務器會將該表的所有數據返回到前端,刷新界面和點擊下一頁的操作的時候都會重複以上操作。顯示數據的速度會因爲網絡帶寬、服務器壓力等而變慢。

2、後端用代碼實現分頁

寫一個分頁的方法,如:

public <T> List<T> pageSet(List<T> list,String limit,String offset){
List<T> list2=new ArrayList();
int limit2=Integer.parseInt(limit);  //頁面大小
int offset2=Integer.parseInt(offset); //第幾頁
for(int i=limit2*(offset2-1),j=0;i<list.size()&&j<limit2;i++,j++)
{
list2.add((T) list.get(i));
}
return list2;

}

就是根據當前第幾頁,每頁顯示幾條數據進行分頁數據的處理。

優點:一次請求只會向前端返回一頁的數據,瀏覽器需要接收的數據變少了,頁面展示會變快

缺點:本質還是一次請求從服務器獲取該表的所有數據,後端代碼處理之後只取了其中一部分。

3、數據庫用sql語句實現

以MySQL爲例, select * from sys_order limit 0,10   //從第0條開始查,一共查詢10條記錄

優點:真正實現了從數據庫就是分頁處理

缺點:不知道會不會在數據量大的時候數據庫獲取數據會變慢,由於沒有測試過數據量較大的時候會有較大的速度區別,所以這裏不是很清楚。

總結:其實實現方式都是根據需求來的,如果你只是做一個簡單展示,數據量少,推薦第一種方式,實現簡單。

我個人還是推薦第二和第三種方式,實現其實也很簡單,就是多加兩個參數就可以了。

PS:當然如果你使用了orm框架如Hibernate和Mybatis,這些框架都有對應的分頁查詢的拓展jar包,還是提供兩個參數,當前頁和當前頁數據顯示條數,就可以實現分頁查詢。具體可以去百度一下。

-----------------------------------------------------------------------------

歡迎轉載,聲明原處即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章