1.查詢分頁資料,利用hibernate Query API:
Query [setFirstResult、setMaxResults]
其中firstResult為從那條記錄開始,maxResult為查詢多少條記錄,即每頁顯示條數
代碼:
Query q = session.createQuery("from Event e order by e.id asc");
q.setFirstResult(firstResult);
q.setMaxResults(pageSize);
List list = q.list();
2.pageSize、pageNo
但分頁時,我們知道的隻是顯示哪一個頁(pageNo),每頁顯示多少條(pageSize)
則相當于maxResults已知,需要計算firstResult值
3.計算firstResult,
int firstResult = (pageNo - 1) * pageSize;
4.需要校驗pageNo
if(pageNo <= 0) :如果傳遞負值或零,則預設顯示第一頁
if(pageNo > maxPages):比如,用6頁,卻要顯示第7頁,則預設顯示最後一頁
但maxPages未知
5.查詢maxPages
需要查詢總記錄數
select count(*) from Event e
6.OK