数据库内容如下:

使用Pageable即可。

Maven如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>JPAPageable</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.1.10.RELEASE</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.1.10.RELEASE</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.73</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><version>2.1.10.RELEASE</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version><scope>runtime</scope></dependency></dependencies></project>

ORM的对象是这样的TestDemo.java:

package cn.it1995.object;import javax.persistence.*;@Entity
@Table(name = "test_demo", schema = "TESTDB", catalog = "")
public class TestDemo {private long id;private String value1;private Integer value2;@Id@Column(name = "id")public long getId() {return id;}public void setId(long id) {this.id = id;}@Basic@Column(name = "value_1")public String getValue1() {return value1;}public void setValue1(String value1) {this.value1 = value1;}@Basic@Column(name = "value_2")public Integer getValue2() {return value2;}public void setValue2(Integer value2) {this.value2 = value2;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;TestDemo testDemo = (TestDemo) o;if (id != testDemo.id) return false;if (value1 != null ? !value1.equals(testDemo.value1) : testDemo.value1 != null) return false;if (value2 != null ? !value2.equals(testDemo.value2) : testDemo.value2 != null) return false;return true;}@Overridepublic int hashCode() {int result = (int) (id ^ (id >>> 32));result = 31 * result + (value1 != null ? value1.hashCode() : 0);result = 31 * result + (value2 != null ? value2.hashCode() : 0);return result;}
}

仓库如下:

TestDemoRepository.java

package cn.it1995.repository;import cn.it1995.object.TestDemo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface TestDemoRepository extends JpaRepository<TestDemo, Long> {
}

service端如下:

TestDemoService.java

package cn.it1995.service;import cn.it1995.object.TestDemo;
import cn.it1995.repository.TestDemoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;@Service
public class TestDemoService {@Autowiredprivate TestDemoRepository testDemoRepository;public Page<TestDemo> listAll(Integer pageNum){Pageable pageable = PageRequest.of(pageNum - 1, 10);Page<TestDemo> all = testDemoRepository.findAll(pageable);return all;}
}

关键的就是这个,分页我们需要的,一共多少条数据,当前是第几页:

这里可以看到,当前page为0,当前总数是37,这样就是后端分页了。将其返回值封装下,就可以给前端了。

Spring Boot笔记-JPA分页(后端分页)相关推荐

  1. Spring Boot笔记-JPA中自定义@Query分页查询

    如下事例代码: @Repository public interface XXXXXRepository extends JpaRepository<XXXYYY, XXXYYYPK> { ...

  2. Spring Boot笔记-JPA自定义SQL语句参数为对象时如何操作

    环境: SpringBoot v2.1.10.RELEASE 举个例子: @Modifying @Query(nativeQuery = true, value = "update XXX. ...

  3. Spring Boot笔记-解决前后端分离在开发时的跨域问题

    这里可以用Nginx解决跨越问题,也可以用下面这种方式在开发时解决: @Configuration public class CorsConfig implements WebMvcConfigure ...

  4. Spring Boot基础学习笔记07:Spring Boot整合JPA

    文章目录 零.学习目标 1.熟悉Spring Data JPA基本语法和使用 2.掌握Spring Boot与JPA的整合使用 一.Spring Data JPA概述 1.Spring Data JP ...

  5. Spring Boot Data JPA

    Spring Data JPA简介 用来简化创建 JPA 数据访问层和跨存储的持久层功能. Spring Data JPA提供的接口 Repository:最顶层的接口,是一个空的接口,目的是为了统一 ...

  6. spring boot 与 iview 前后端分离架构之开发环境基于docker的部署的实现(三十六)

    spring boot 与 iview 前后端分离架构之开发环境基于docker的后端的部署的实现(三十六) 公众号 基于docker的后端的部署 安装mysql数据库 创建数据库 安装redis 安 ...

  7. (五)Debian Linux中部署Spring Boot + Vue的前后端分离项目详细过程(arm64/aarch64架构下)

    专题系列往期文章目录 (一)移动端安卓手机改造成linux服务器&Linux中安装软件踩坑历险记 (二)Debian Linux系统中安装oracle JDK1.8详细过程(arm64/aar ...

  8. spring boot 系列之四:spring boot 整合JPA

    上一篇我们讲了spring boot 整合JdbcTemplate来进行数据的持久化, 这篇我们来说下怎么通过spring boot 整合JPA来实现数据的持久化. 一.代码实现 修改pom,引入依赖 ...

  9. Spring Boot集成JPA的Column注解命名字段无效的问题

    偶然发现,Spring Boot集成jpa编写实体类的时候,默认使用的命名策略是下划线分隔的字段命名. Spring Boot版本:1.5.4.release 数据表: id int, userNam ...

最新文章

  1. 全面剖析linux【bind】服务お理论篇
  2. SQL Server中DateTime格式转换
  3. 斐波那契的数列的计算python-python斐波那契数列的计算方法
  4. mysql 查询排行_通过mysql查询排行榜
  5. 愚蠢的领导才会用程序员祭天!!
  6. 技术动态 | 67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?
  7. 数据库笔记06:创建并管理数据表
  8. Html点击复制文本内容
  9. 阿里根据截图查到泄露者,这样的技术是如何做到的?
  10. linux用gzip文件,Linux中的Gzip命令
  11. php实现手机归属地的查询、,PHP之cURL实现手机号码归属地查询功能
  12. springboot中使用thymeleaf片段引入出现500错误(易错)
  13. vscode 自定义字体样式_vscode md样式自定义
  14. 使用高德地图API实现历史轨迹查询
  15. 如何以正确地姿势AK SQL查询50题(精华篇)
  16. Qt实现Linux下的硬盘空间监测和文件清理
  17. 基于Matlab的静电场仿真实验--求均匀带电球壳的电场
  18. 关于Caused by: com.alibaba.fastjson.JSONException: syntax error, expect }, actual ,
  19. 几种近距离的无线通信技术
  20. 学生-课程数据库建表代码(三张表:学生表 课程表 选课表SC)

热门文章

  1. 配置spring事务管理的几种方式(声明式事务)
  2. MA5683T开局大致开局指导
  3. IT管理人才必备的十大能力(转)
  4. 程序员的大学|彪悍的人生可以没有妹,但必须要有技术!
  5. 局域网聊天软件 设计文档怎么写?
  6. 飞鸽传书2012 的网络通信代码
  7. 飞鸽应用于企业解决方案
  8. 网络管理员如何解放自己
  9. 检查电脑是否被安装木马三个小命令
  10. 996,别让年轻人累到不觉得累