Spring MVC通過Pageable對象和PageableDefault註解擷取分頁資訊(MongoDB通過Pageable來操作分頁)

來源:互聯網
上載者:User

標籤: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來操作分頁)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.