@PageableDefault

2017-03-25 22:57 627人閱讀 評論(0) 收藏 舉報
 分類:
spring(23) 

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。

Pageable 是spring Data庫中定義的一個接口,該接口是所有分頁相關信息的一個抽象,通過該接口,我們可以得到和分頁相關所有信息(例如pageNumber、pageSize等)。

Pageable定義了很多方法,但其核心的信息只有兩個:一是分頁的信息(page、size),二是排序的信息。

在springmvc的請求中只需要在方法的參數中直接定義一個pageable類型的參數,當Spring發現這個參數時,Spring會自動的根據request的參數來組裝該pageable對象,Spring支持的request參數如下:

[plain] view plain copy 派生到我的代碼片
  1. page,第幾頁,從0開始,默認爲第0頁  
  2. size,每一頁的大小,默認爲20  
  3. 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。

[java] view plain copy 派生到我的代碼片
  1. @ResponseBody  
  2. @RequestMapping(value = "list", method=RequestMethod.GET)  
  3. public Page<blog> listByPageable(@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC)   
  4.     Pageable pageable) {  
  5.   
  6.   
  7.     return blogRepository.findAll(pageable);  
  8. }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章