Spring MVC通过Pageable对象和PageableDefault注解获取分页信息(MongoDB通过Pageable来操作分页)

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

时间: 2024-08-27 17:42:22

Spring MVC通过Pageable对象和PageableDefault注解获取分页信息(MongoDB通过Pageable来操作分页)的相关文章

Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误。

如题,最近以spring mvc作为后台框架,前端异步获取数据时(.html为后缀名的访问方式),报406 Not Acceptable错误.当初都不知道啥原因,前后台都没报错就是返回不了数据,于是查了下http 406响应码:406 (SC_NOT_ACCEPTABLE)表示请求资源的MIME类型与客户端中Accept头信息中指定的类型不一致.下面请看出错的操作流程及代码: 1.先配置spring mvc 核心servlet (DispatcherServlet) 至web.xml中,其中配置

Spring+Spring MVC+Hibernate增查(使用注解)

使用Spring+Spring MVC+Hibernate做增删改查开发效率真的很高.使用Hibernate简化了JDBC连接数据库的的重复性代码.下面根据自己做的一个简单的增加和查询,把一些难点分析出来: 首先项目目录结构:(Hibernate持久化数据连接信息交给Spring进行管理:别忘了加入Hibernate和Spring相关的架包.jar) 第一步:弄个用户实体类(配置Users.hbm.xml映射文件): 1 package com.ssh.SpringMVC.enity; 2 3

Spring + Spring MVC + Hibernate项目开发集成(注解)

在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下.在网上也查询了很多使用注解来搭建开发框架的文章,但是有一个问题就是,使用更新的软件版本会出错.这里我将使用最新的Spring,Hibernate来进行框架的搭建,经过测试,顺利运行.分享旨在与大家一起分享学习,共同进步,有不足之处,望不吝赐教,谢谢! 本项目使用maven构建,采用Spring +

Spring MVC 3.0 深入及对注解的详细讲解

核心原理 1.       用户发送请求给服务器.url:user.do 2.       服务器收到请求.发现Dispatchservlet可以处理.于是调用DispatchServlet. 3.       DispatchServlet内部,通过HandleMapping检查这个url有没有对应的Controller.如果有,则调用Controller. 4.    Control开始执行 5.       Controller执行完毕后,如果返回字符串,则ViewResolver将字符串

Spring MVC 使用介绍(八)—— 注解式控制器(三):类型转换

一.概述 二.PropertyEditor 1.基本介绍 PropertyEditor用于 String<--->Object 之间相互转换,spring内建了一些常用的PropertyEditor,如: ClassEditor: String<-->Class FileEditor: String<-->File PatternEditor: String<-->Pattern URLEditor: String<-->URL Resource

spring mvc 封装json对象

@RequestMapping("/findByItem") public void findByItem(int pageNO,String userName,Date startDate,Date endDate,HttpServletResponse response)throws Exception{ CutPageBean cutBean = service.findByItem(pageNO, userName, startDate, endDate); //创建jacks

spring mvc异常统一处理(ControllerAdvice注解)

@ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强.让我们先看看@ControllerAdvice的实现: Java代码   @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface ControllerAdvice { } 没什么特别之处,该注解使用@Component注解,这样的话当我们使用

Spring MVC入门(1)——非注解方式

开发工具:Myeclipse 8.5,jdk1.6,Tomcat7.0 1.建立WebProject项目,导入Spring 3.2.3相关jar包 2.在web.xml中配置前端控制器,DispatcherServlet. <servlet> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <servlet-name>springmvc</

详解Spring MVC 3 4常用的那些注解

A 代码生成器(开发利器);     增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 安全权限框架shiro ;  Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安