分頁查詢接口常見設計思路

我們在web開發中,在頁面展示時經常會遇到分頁技術,常見的分頁實現的思路有:

  1. 客戶端分頁:直接將全部或多頁結果數據一次性返回給客戶端,客戶端通過展現組件進行數據分頁的控制。
  2. 數據庫分頁:進行數據查詢時,數據庫返回一頁數據給客戶端。
  3. 服務器分頁:從數據庫返回全部或者多條數據,在服務器端進行緩存,但是每次只返回一頁數據給客戶端。

上述思路的優缺點:

  1. 客戶端分頁
    • 優點:減少了客戶端和服務器交互的次數,客戶端進行數據緩存,提高了系統交互性。
    • 缺點:增加了第一次交互的負荷
  2. 數據庫分頁
    • 優點:每次從數據庫返回較少數據,當次交互的負荷較輕。
    • 缺點:每次切頁時都訪問數據庫,增加了數據庫訪問併發性。
  3. 服務器分頁(介於1、2之間)

    • 優點:在1、2之間達到了平衡,既減少了數據庫併發又使服務器和客戶端交互的當次負荷較小
    • 缺點:需要考慮數據緩存、數據同步等問題,增加了系統複雜性。

    根據不同的需求選擇合適的分頁思路會有事半功倍的效果。

    簡單的分頁查詢接口如下:

    這裏寫圖片描述
    參數說明:
    queryXxxs的兩個入參:XxxQueryParam爲查詢參數對象,PageParam爲分頁的設置信息,一般包括頁碼pageNo,每頁記錄數pageSize和最大查詢頁數maxPageNum。Page爲當前頁數據的封裝類,其中包括頁碼pageNo,結果集總頁數totalPageNum(客戶端分頁導航欄需要取到pageNo和totalPageNum)和當前頁的業務數據集合pageItems。當需要查詢的頁碼超過結果集最大頁數或者超過允許查詢的最大頁時,拋出OutOfPageSizeException運行期異常。

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