Spring Boot 学习研究笔记(十四) SpringBoot Jpa 分页查询

简介: Spring Boot 学习研究笔记(十四) SpringBoot Jpa 分页查询

SpringBoot Jpa 分页查询

 

JpaRepository提供了如下表所述的内置查询:

方法 描述
List findAll() 返回所有实体
List findAll(Iterable ids) 返回指定id的所有实体
T getOne(ID id) 根据id返回对应的实体,如果未找到,则返回空
List findAll(Sort sort) 返回所有实体,按照指定顺序排序返回
Page findAll(Pageable pageable) 返回实体列表,实体的offset和limit通过pageable来指定

分页查询主要用到:

Page findAll(Pageable pageable) 接口

返回值Page类:

int getTotalPages()  获取总的页数


long getTotalElements()  返回总数


List getContent()   返回某页的结果集

参数 Pageable:

PageRequest是Pageable的实现类,可以通过以下工厂方法创建:

public static PageRequest of(int page,int size)
public static PageRequest of(int page,int size,Sort sort)
public static PageRequest of(int page,int size,Direction direction,String ... properties)
• page:从0开始,表示查询页
• size:每页查询个数
• sort:排序方式
• direction:排序方式,ASC、DESC
• properties:排序的字段
@RequestMapping(path = "/page") public List<Message> queryPage(@RequestBody Map<String, Object> params) {
Integer pageNo = Integer.valueOf((String) params.get("pageNo"));
Integer pageSize = Integer.valueOf((String)params.get("pageSize"));
/**
 * 添加排序Sort
 *      Sort.Direction.DESC表示降序
 *      Sort.Direction.ASC表示升序
 *      properties是指实体类的属性名(不是字段名)
 */
Sort sort = new Sort(Sort.Direction.ASC, "id");
/**
 *  分页参数Pageable
 *      参数1:查询的页码
 *      参数2:每页查询的条数
 *      参数3:查询结果的排序规则(可选
 */
Pageable pageable = PageRequest.of(pageNo, pageSize, sort);
/**
 *  分页查询
 *      参数1:查询条件Specification
 *      参数2:分页参数Pageable
 */
 Page<User>  page=userRepository.findAll(pageReques);
 List<User> users=page.getContent();
return users;
• }
相关文章
|
7天前
|
监控 Java 应用服务中间件
spring和springboot的区别
spring和springboot的区别
16 1
|
1天前
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
|
1天前
|
SQL Java 数据库连接
Springboot框架整合Spring Data JPA操作数据
Spring Data JPA是Spring基于ORM和JPA规范封装的框架,简化了数据库操作,提供增删改查等接口,并可通过方法名自动生成查询。集成到Spring Boot需添加相关依赖并配置数据库连接和JPA设置。基础用法包括定义实体类和Repository接口,通过Repository接口可直接进行数据操作。此外,JPA支持关键字查询,如通过`findByAuthor`自动转换为SQL的`WHERE author=?`查询。
|
2天前
|
缓存 监控 Java
【Spring系列笔记】AOP
面向切面编程就是面向特定方法编程。通过将横切关注点(cross-cutting concerns)从主要业务逻辑中分离出来,提供一种更好的代码模块化和可维护性。 横切关注点指的是在应用程序中横跨多个模块或层的功能,例如日志记录、事务管理、安全性、缓存、异常处理等。
14 0
|
2天前
|
存储 缓存 Java
【Spring系列笔记】依赖注入,循环依赖以及三级缓存
依赖注入: 是指通过外部配置,将依赖关系注入到对象中。依赖注入有四种主要方式:构造器注入、setter方法注入、接口注入以及注解注入。其中注解注入在开发中最为常见,因为其使用便捷以及可维护性强;构造器注入为官方推荐,可注入不可变对象以及解决循环依赖问题。本文基于依赖注入方式引出循环依赖以及三层缓存的底层原理,以及代码的实现方式。
12 0
|
4天前
|
前端开发 Java 数据格式
【Spring系列笔记】定义Bean的方式
在Spring Boot应用程序中,定义Bean是非常常见的操作,它是构建应用程序的基础。Spring Boot提供了多种方式来定义Bean,每种方式都有其适用的场景和优势。
18 2
|
4天前
|
Java Spring 容器
【Spring系列笔记】IOC与DI
IoC 和 DI 是面向对象编程中的两个相关概念,它们主要用于解决程序中的依赖管理和解耦问题。 控制反转是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入和依赖查找。
20 2
|
6天前
|
Java Maven Docker
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
19 2
|
7天前
|
Java Maven 数据库
Spring Boot Starter: 快速简明地创建Spring应用
Spring Boot Starter: 快速简明地创建Spring应用
|
8天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例