實現一個分頁接口需要幾步?

如何寫出一個返回分頁結果的接口?先看下圖,一個支持分頁的數據表格需要什麼樣的數據結構?
在這裏插入圖片描述
Step01:定義分頁數據結構
PageInfo {
currentPage:當前頁碼
totalPage:總頁數
totalCount:符合查詢條件的記錄總數
pageSize:頁面大小(容量)
pageBegin:條件查詢語句(SQL)左邊參數(非必須,可計算得出)
pageEnd:條件查詢語句(SQL)右邊參數(非必須,可計算得出)
list:返回當前頁的數據(記錄)
}

假如原始的條件查詢語句:
select a,b,c from tableName where condition

Step02:PageInfo的初始化
currentPage、pageSize:作爲接口的入參,同時可以作爲返回結果中的屬性(已知或者是默認)
totalCount:條件查詢語句(SQL)外層count,select count(*) from (select a,b,c from tableName where condition) tmp,返回結果
totalPage:totalPage = (totalCount / pageSize + ((totalCount % pageSize == 0) ? 0 : 1))

Step03:條件查詢語句後,補充限制條件 limit
limit pageBegin,pageEnd
select a,b,c from tableName where condition limit pageBegin,pageEnd

Step04:查詢結果數據set
list:條件查詢返回數據列表填充

附上PageInfo的代碼

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