Spring MVC通过Pageable对象和PageableDefault注解获取分页信息(MongoDB通过Pageable来操作分页)
2024-10-20 00:29:01
说明: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(以上内容转自此篇文章)
最新文章
- java运行时获得泛型类型
- JS创建对象篇
- pageX、clientX、screenX、offsetX、layerX、x
- 1Z0-053 争议题目解析607
- 配置appium 1.6.3 for MAC
- 【代码笔记】iOS-设置textView或者label的行间距方法
- C语言 栈 链式结构 实现
- Android空闲教室查询-资料
- zw版【转发&#183;台湾nvp系列Delphi例程】HALCON HighpassImage
- head标签掉到body里的问题
- flume+kafka (分区实现 默认单分区)
- Delphi反射
- MySQL学习笔记(四)&mdash;存储过程
- SQLServer低版本附加高版本的数据库常用处理方法
- docker资料---仓库搭建
- bzoj2200拓扑排序+最短路+联通块
- 潭州课堂25班:Ph201805201 django 项目 第二十八课 新闻elasticsearch搜索前后功台能实现 (课堂笔记)
- Understanding Built-In User and Group Accounts in IIS 7
- 20181013xlVba年级成绩报表
- linux操作系统-设置静态ip
热门文章
- js 遍历对象属性(for in、Object.keys、Object.getOwnProperty) 以及高效地输出 js 数组
- [python][django学习篇][9]设计正在博客视图(3)
- redis命令monitor详解
- 基础概念:Oracle数据库
- SRCNN(一)
- HDU 4177 模拟时间问题
- 【转】unity自带寻路Navmesh入门教程(一)
- linux系统带宽监测脚本
- 软件包管理rpm_yum
- 使用BootStrap网格布局进行一次演示