说明: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 = , 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(以上内容转自此篇文章)

最新文章

  1. java运行时获得泛型类型
  2. JS创建对象篇
  3. pageX、clientX、screenX、offsetX、layerX、x
  4. 1Z0-053 争议题目解析607
  5. 配置appium 1.6.3 for MAC
  6. 【代码笔记】iOS-设置textView或者label的行间距方法
  7. C语言 栈 链式结构 实现
  8. Android空闲教室查询-资料
  9. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON HighpassImage
  10. head标签掉到body里的问题
  11. flume+kafka (分区实现 默认单分区)
  12. Delphi反射
  13. MySQL学习笔记(四)&mdash;存储过程
  14. SQLServer低版本附加高版本的数据库常用处理方法
  15. docker资料---仓库搭建
  16. bzoj2200拓扑排序+最短路+联通块
  17. 潭州课堂25班:Ph201805201 django 项目 第二十八课 新闻elasticsearch搜索前后功台能实现 (课堂笔记)
  18. Understanding Built-In User and Group Accounts in IIS 7
  19. 20181013xlVba年级成绩报表
  20. linux操作系统-设置静态ip

热门文章

  1. js 遍历对象属性(for in、Object.keys、Object.getOwnProperty) 以及高效地输出 js 数组
  2. [python][django学习篇][9]设计正在博客视图(3)
  3. redis命令monitor详解
  4. 基础概念:Oracle数据库
  5. SRCNN(一)
  6. HDU 4177 模拟时间问题
  7. 【转】unity自带寻路Navmesh入门教程(一)
  8. linux系统带宽监测脚本
  9. 软件包管理rpm_yum
  10. 使用BootStrap网格布局进行一次演示