標籤:post 定義 gen response 抽象 find lis page strong
說明:Pageable同時也能用於操作MongoDB的分頁。
PageableSpring Data庫中定義的一個介面,該介面是所有分頁相關資訊的一個抽象,通過該介面,我們可以得到和分頁相關所有資訊(例如pageNumber、pageSize等)。
Pageable定義了很多方法,但其核心的資訊只有兩個:一是分頁的資訊(page、size),二是排序的資訊。
在Spring MVC的請求中只需要在方法的參數中直接定義一個Pageable類型的參數,當Spring發現這個參數時,Spring會自動的根據request的參數來組裝該Pageable對象,Spring支援的Request參數如下:
page,第幾頁,從0開始,預設為第0頁 size,每一頁的大小,預設為20 sort,排序相關的資訊,以property,property(ASC|DESC)的方式組織,例如sort=firstname&sort=lastname,desc表示在按firstname正序排列基礎上按lastname倒序排列。
這樣,我們就可以通過url的參數來進行多樣化、個人化的查詢。
Spring Data提供了@PageableDefault協助我們個人化的設定Pageable的預設配置。例如@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC)表示預設情況下我們按照id倒序排列,每一頁的大小為15。
@ResponseBody @RequestMapping(value = "list", method=RequestMethod.GET) public Page<blog> listByPageable(@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC) Pageable pageable) { return blogRepository.findAll(pageable); }
參考:
http://blog.csdn.net/qq_30553235/article/details/76070541(MongoDB)
http://blog.csdn.net/zsg88/article/details/66025560(以上內容轉自此篇文章)
Spring MVC通過Pageable對象和PageableDefault註解擷取分頁資訊(MongoDB通過Pageable來操作分頁)