分页工具--Page和Pageable
Page和Pageable
- 前言
- 一、Pageable概述
- 二、Pageable对象的获取
- 三、Page的使用
前言
在项目中,分页查询数据是不可缺少的一部分,下面简单了解一下Spring Data中提供的分页接口Pageable和Page
一、Pageable概述
Pageable是Spring Data库中的一个接口,主要用于构造分页查询语句。
Pageable接口包含了分页的相关信息,使用getPageNumber()和getPageSize(),可以获取当前是第几页和每页的的数据量大小。
在查询语句中加入Pageable对象作为参数,JPA就能够通过该Pageable对象的信息,分析生成一个带分页查询的SQL语句。
二、Pageable对象的获取
使用PageRequest类中的静态方法of来获取Pageable对象。(PageRequest类继承了AbstractPageRequest类,而AbstractPageRequest类有实现了Pageable接口)
示例代码:
// 不带排序的Pagable对象
public void getLatestPagingUser(Integer pageNum, Integer size) {Pageable pageable = PageRequest.of(page, size);}
// 带有排序的Pageable对象,根据实体中的creatTime属性进行倒序排序
public void getLatestPagingUser(Integer pageNum, Integer size) {Pageable page = PageRequest.of(pageNum, size, Sort.by("createTime").descending());
}
三、Page的使用
Page也是Spring Data库中的一个接口,主要用于存储JPA查询数据库的结果集。
当使用Pageable对象作为参数进行查询的时候,JPA返回的是一个Page对象
示例代码:
public Page<User> getLatestPagingUser(Integer pageNum, Integer size) {Pageable page = PageRequest.of(pageNum, size, Sort.by("createTime").descending());// userRepository是UserRepository接口的一个对象,UserRepository继承了JpaRepository接口return userRepository.findAll(page);
}
Page接口中有许多的方法可以获取,查询的结果信息
以下是比较常用的方法:
public void test(Page<T> pageT){int total = pageT.getTotalElements(); // 获取记录的总条数int count = pageT.getSize(); // 获取每页的记录条数int page = pageT.getNumber(); // 获取当前是第几页int totalPage = pageT.getTotalPages(); // 获取总页数List<T> list = pageT.getContent(); // 获取记录的集合列表
}
分页工具--Page和Pageable相关推荐
- Feign使用JPA分页类Page和Pageable抛出序列化异常
一.异常如下 feign.AsyncResponseHandler.decode(AsyncResponseHandler.java:119) Type definition error: [simp ...
- pageable设置size_分页工具一Pageable与Page
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Page; 1.Page ...
- 使用Spring JPA中Page、Pageable接口和Sort类完成分页排序
显示时,有三个参数,前两个必填,第几页,一页多少个size,第三个参数默认可以不填. 但是发现这个方法已经过时了,通过查看它的源码发现,新方法为静态方法PageRequest of(page,size ...
- Java Web的分页工具类
最近写一个java web项目,以前分页的工具类,都是基础架构的人写好了的.也没有去细看,现在遇到这个状况. 就整理一下思路,自己写了一个分页的工具类.写的不好之处,还望斧正. 下面是我的代码: Pa ...
- 使用PageInfo分页工具类
使用分页工具PageInfo得到分页结果 使用SpringBoot查表的时候,可能会返回多个结果,前端展示需要进行分页,所以需要后端返回分页的结果.本文只展示PageInfo的使用方法,不对源代码进行 ...
- 分页工具类——PageInfo
使用方式 前端需要提交参数当前页数currentPage,后台从数据库中查询出数据并将数据封装到PageInfo类中,把封装好的pageInfo对象传递给前端并解析. //根据查询结果返回list集合 ...
- page分页php,Page分页函数
提供一款实例的分类函数,有需要的朋友可以参考一下.<?php教程 // page分页函数 $page = $_get["page"]; function page($rows ...
- java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
[博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...
- java分页的工具类,java分页工具类
PageBean-分页 package com.soyea.util; import java.io.Serializable; import java.util.List; /** * 分页工具类 ...
最新文章
- javaweb学习总结(三十)——EL函数库
- Python 懂车帝全车系销量排行榜
- Java 并发编程—核心理论
- mooc作业怎么上传附件_怎么以最低价格入门hifi音响?
- JNA参数传递问题,Java数组
- intel 指令集_苹果首款ARM Mac来了,浅谈ARM和Intel处理器
- java表示学生信息的类Student,并输出相关信息
- 迅为IMX6Q PLUS开发板烧写Android6.0系统方法
- 《微观经济学》第一章经济学十大原理
- 学了这么久的高并发编程,连Java中的并发原子类都不知道?这也太Low了吧
- fdfs和springboot的整合
- 云盘行业的“冰与火”
- FIRST集合基本构造
- Select之多表查询
- Java使用itextpdf生成PDF文件,用浏览器下载
- 计算机组成原理数据流通图作用,计算机组成原理-第14-15讲(第5章).ppt
- SpingMVC项目Servlet[springmvc]的Servlet.init()引发异常
- 计算机三级网络技术第八章(第一轮)
- 基于JAVA+SpringMVC+Mybatis+Vue+MYSQL的医药销售管理系统
- python实现通过URL下载图片到本地服务器