| 方案 | 適用場景 | 優點 | 缺點 |
|---|---|---|---|
| Action 查詢全量數據,JSP 前端分頁 | 數據量少 | 實現簡單,無額外請求 | 數據大時內存壓力大,傳輸慢 |
| Action 每次查詢單頁數據(推薦) | 數據量大 | 內存佔用穩定,響應快 | 數據量小時增加服務器請求數 |
Hibernate Query 接口提供原生分頁支持:
Query q = session.createQuery("from Cat as c");
q.setFirstResult(10000); // 從第 10001 條開始(0-based)
q.setMaxResults(100); // 取 100 條
List l = q.list();
底層自動轉換為數據庫方言對應的 LIMIT/OFFSET 或 ROWNUM 等分頁語句,無需手寫 SQL。
PageHelper 等插件可進一步簡化分頁參數傳遞setFirstResult 為 0 起始索引,前端頁碼需換算