springboot 分页查询参数_10. Spring Boot 中的分页查询
在Spring Boot中使用分页查询主要依赖了org.springframework.data.domain.*包下面的及格分页类的功能。使用分页查询常见有两种方式,一种是直接在程序中写死分页的参数(页数,每页大小等),需要依赖@PageableDefault注解。该注解指明了分页参数的默认值。另一种则是,可以通过URL等传入的信息进行分页信息的设置。
在常用的项目中,分页信息肯定是可以传入的,因此,只讨论如何根据传入的分页信息来实现分页查询。
1. Repository层加入分页支持
依然以配置了JPA操作的Spring Boot项目为例,要实现分页,需要在原有的架构上进行一定的改造。
首先就是在DAO层本身要支持分页参数。由于Spring中jpa的简化性,只需要添加如下类似的声明,即表示可以通过DAO层支持分页访问数据库了。
Page findAll(Pageable pageable);
2. 服务层提供对该接口的访问
做一个简单的封装即可,例如:
/**根据传入的分页参数,查询指定分页内的用户列表*/
public Page getAllSysUserInfoByPageable(Pageable pageable){
return sysUserInfoRepository.findAll(pageable);
}
3. Controller层创建分页对象来访问
底层的分页支持都已经提供好了,只需要在Controller层根据用户传入的参数来创建一个分页请求对象,就可以实现分页查询了。
第一步: 设置分页后的结果排序方案对象。
第二步: 根据排序方案对象和传入的参数实例化一个Pageable对象,用于分页的大小、页面数和排序方案。
第三步: 使用该分页对象
一个简单的示例如下:
/**实现分页查询的方法*/
@GetMapping("/page/{pageId}/size/{sizeId}")
public List getAllSysUserInfoListByPage(@PathVariable("pageId") int pageId, @PathVariable("sizeId") int size) {
Sort sort = new Sort(Sort.Direction.ASC, "userId");
Pageable pageable = new PageRequest(pageId, size, sort);
Page pageContent = sysUserInfoService.getAllSysUserInfoByPageable(pageable);
return pageContent.getContent();
}
Pageable是一个接口,用于接收分页请求(PageRequet)对象。
分页参数pageId是默认从 0 开始计数的。
springboot 分页查询参数_10. Spring Boot 中的分页查询相关推荐
- springboot拦截html页面元素,Spring Boot 中如何使用拦截器(十五)
关于拦截器,大家一定都不陌生,spring boot 中是如何使用拦截器的呢?今天就举个例子,来给大家说明一下,废话不多说,开始撸代码!!! 1.创建一个新的spring boot项目,并引入相应的j ...
- springboot mysql事物_在Spring Boot中使用数据库事务
关于数据库访问还有一个核心操作那就是事务的处理了,前面两篇博客小伙伴们已经见识到Spring Boot带给我们的巨大便利了,其实不用猜,我们也知道Spring Boot在数据库事务处理问题上也给我们带 ...
- boot spring 接口接收数据_在 Spring Boot 中使用 Dataway 配置数据查询接口
Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具.使得使用者无需开发任何代码就配置一个满足需求的接口. 整个接口配置.测试.冒烟.发布.一站式都通过 ...
- 在controller中调用指定参数给指定表单_第005课:Spring Boot 中MVC支持
Spring Boot 的 MVC 支持主要介绍实际项目中最常用的几个注解,包括 @RestController. @RequestMapping.@PathVariable.@RequestPara ...
- springboot(三):Spring boot中Redis的使用
转自www.ityouknow.com spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memc ...
- Spring Boot中使用模板引擎参数化传参数
目录 理论 代码及演示 理论 在导航页里面,当点击某个栏目的时候,就得被激活,在Spring Boot中,一般把导航页做成片段的形式,这个片段是可以根据参数进行激活某一个栏目,如下的演示所示,通过三元 ...
- SpringBoot精通系列-Spring Boot中如何配置Https
导语 Https作为一个比较安全的协议,现在已经越来越普及了,特别是在完成小程序或者是公众号开发的时候,https基本上都是刚需了.但是一个HTTPS的证书是比较费钱的事情,个人开发者可以通过云 ...
- springboot怎么返回404_Spring Boot2 系列教程(十三)Spring Boot 中的全局异常处理
在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @ControllerAdvice 来统一处理,也可以自己来定义异常处理方案.Spring Boot 中,对异常的处理有 ...
- SpringBoot - Spring Boot 中的配置体系Profile全面解读
文章目录 Pre Spring Boot 中的配置体系 配置文件与 Profile 主 application.properties 中指定激活的Profile Profile 配置信息只保存在一个文 ...
最新文章
- 使用 HTML5 时如何改进移动 Web 应用开发
- 简议使用业务模型驱动进行软件的设计
- maven java jar_在maven中引入本地jar包的方法
- python3安装步骤mac-Mac安装Python3
- ORACLE表空间管理维护
- 从已有安装包(vendor)恢复 composer.json
- VTK:BiDimensionalWidget二维小部件用法实战
- FileZilla搭建FTP服务器图解教程
- Servlet 中的out.print()与out.writer()的区别
- python解zuobiaoxi方程_从马尔可夫链到蒙特卡洛-Metropolis方法(Python)
- 思科常用配置实例的常用操作项
- 基于SSM的旅游管理系统
- PS如何压缩图片而不失真
- mac宽带连接找不到pppoe服务器,macbookAIR 使用以太网转接头连接宽带… - Apple 社区...
- java 象限分析_四象限分析法
- python解常微分方程组
- 魔方二代 php代码还原
- 计算机四级 信息安全工程师——操作系统题库
- AnnotationConfigApplicationContext 报错 has not been refreshed yet
- go-cqhttp发送本地图片
热门文章
- cf1132E. Knapsack(搜索)
- 分布式监控系统开发【day37】:需求讨论(一)
- 使用Ajax解析数据遇到的问题
- Android 保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护
- Day03——类、值和对象
- 配置FCKeditor_2.6.3+fckeditor-java-2.4
- XML数据岛(XML Data Island)(只适用于ie)
- vue使用webPack打包发布后页面显示空白
- 使用redis做为MySQL的缓存
- Layui --- [Mar]给渲染后的表格加CSS样式