pageable设置size_分页工具一Pageable与Page
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Page;
1.Pageable概述
Page findByAge(int age, Pageable pageable);
Pageable 是Spring Data库中定义的一个接口,用于构造翻页查询,是所有分页相关信息的一个抽象,通过该接口,我们可以得到和分页相关所有信息(例如pageNumber、pageSize等),这样,Jpa就能够通过pageable参数来得到一个带分页信息的Sql语句。
2.Pageable实现:PageRequest
静态方法获取对象
static PageRequestof(int page, int size)与static PageRequest of(int page, int size, Sort sort)
3.直接获取Pageable对象
我们只需要在方法的参数中直接定义一个pageable类型的参数,当Spring发现这个参数时,Spring会自动的根据request的参数来组装该pageable对象
Spring支持的request参数如下:
page,第几页,从0开始,默认为第0页
size,每一页的大小,默认为20
sort,排序相关的信息,例如sort=firstname&sort=lastname,desc表示在按firstname正序排列基础上按lastname倒序排列
@RequestMapping("list")
public Page getEntryByPageable(@PageableDefault(value = 15, sort = { "id" }, direction = Sort.Direction.DESC)
Pageable pageable) {
return dao.findAll(pageable);
}
四.Pageable接口
public interface Pageable {
//返回要返回的页面.
int getPageNumber();
// 返回要返回的项目的数量。
int getPageSize();
//根据底层页面和页面大小返回偏移量。
int getOffset();
//返回排序参数。
Sort getSort();
}
五.Page接口
Page findByAge(int age, Pageable pageable);
用于储存查询的结果集
public interface Page extends Iterable {
int getNumber();//当前第几页,总是非负的
int getSize();//@常用:返回当前页面的大小。
int getTotalPages(); //@常用:返回分页总数。
int getNumberOfElements(); //返回当前页上的元素数。
long getTotalElements(); //@常用:返回元素总数。
boolean hasPreviousPage(); //返回如果有上一页。
boolean isFirstPage(); //返回当前页是否为第一页。
boolean hasNextPage(); //返回如果有下一页。
boolean isLastPage(); //返回当前页是否为最后一页。
Iterator iterator();
List getContent(); //@常用:将所有数据返回为List
boolean hasContent(); //返回数据是否有内容。
Sort getSort(); //返回页的排序参数。
}
六.Page接口实现PageImpl
构造函数PageImpl(List content)与PageImpl(List content, Pageable pageable, long total)
成员方法
ListgetContent()
Pageable getPageable()
longgetTotalElements()
intgetTotalPages()
SortgetSort()
intgetSize()
七.使用
@GetMapping("/showMarkerByPage/{page}")
public Result showMarkerController(@PathVariable("page") int page){
PageRequest pageRequest = PageRequest.of(page, 5);
Page markerPage = markerService.findMarker(pageRequest);
for (int i = 0; i < markerPage.getContent().size(); i++) {
System.out.println(markerPage.getContent().get(i));
System.out.println(markerPage.getTotalElements());
}
if (markerPage.getContent()!=null) {
return ResultUtil.success(markerPage.getContent(), "/showMarker");
}else {
return ResultUtil.error(1, "查询失败", "/showMarker");
}
}
pageable设置size_分页工具一Pageable与Page相关推荐
- pageable设置size_总结SpringBoot使用Pageable实现分页源码
之前写过一篇mybatis-plus的文章,但是有朋友说技术太过简单了,想让我写一下分页什么的技术,这里想跟大家解释一下:因为刚开始在这种平台上写文章,确实是写的慢,并且,有些技术我自己也没怎么使用过 ...
- pageable设置size_使用Pageable 分页
1. service层 封装 packagecom.example.demo.service;importjava.util.List;importorg.springframework.data.d ...
- pageable设置size_SpringBoot分页Pageable 自定义配置最大size
起因 在工作中,涉及到导出的功能,由于导出和搜索的结果是相同的,所以导出和搜索是同一接口.但由于搜索的分页是每页10条,而导出却是没有条数限制的,所以引出下面的问题 controller方法如下: @ ...
- pageable设置size_SpringdDataJpa如何创建一个不分页,但是排序的pageable
2020-07-16 更新一波 今天看到有个小哥在这个里面评论说他也报错了,报了UnsupportedOperationException 这跟之前题主说的报错也是差不多,就是我的方案总之会报错 但是 ...
- 使用Spring的Pageable来实现分页查询
1.导入包: import org.springframework.data.domain.Pageable; 2.测试类: @Testpublic void whenQuerySeccess() t ...
- c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询
/**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...
- 服务器设置系统盘分页,服务器设置系统盘分页
服务器设置系统盘分页 内容精选 换一换 本章节介绍磁盘的约束与限制. 安装完操作系统后的临时云服务器需要进行相关配置,并安装原生的XEN和KVM驱动,才能保证后续创建的云服务器正常使用.该任务指导用户 ...
- 分页工具类——PageInfo
使用方式 前端需要提交参数当前页数currentPage,后台从数据库中查询出数据并将数据封装到PageInfo类中,把封装好的pageInfo对象传递给前端并解析. //根据查询结果返回list集合 ...
- ImageView可直接调用的,根据URL设置图片的工具类
ImageView 是Android编程中最常用的组件之一. 但是根据图片的URL设置图片却很麻烦.因为获取网络图片的操作必须在异步线程中进行,根据URL设置ImageView图片就可能需要进行线程间 ...
最新文章
- log4j.logger java_java – Log4JLogger的根本原因是找不到还是不可用?
- 迪普工业以太网交换机产品线
- 近期大热的AutoML领域,都有哪些值得读的论文?
- 乐器演奏_深度强化学习代理演奏的蛇
- 五、python模块以及包
- 关于Sql语句的心得体会
- java 加密 encrypt_JAVA Encrypter 加密算法
- Linux磁盘、内存、CPU、进程
- codeblocks和vscode编译时弹出不支持的16位程序解决方案
- 将指定用户下所有表的查询权限赋权给查询用户
- java 冒号转义_java – 使用Hibernate查询:冒号被视为参数/转义冒号
- 阿里云服务器:配置 Docker 的 镜像加速器
- 图像处理及深度学习开源数据集大全(四万字呕心沥血整理)
- Specification使用
- 【一】ArcGIS API for JavaScript 4.x之地图显示
- 香港理工大学计算机专业课程,香港理工大学计算机系包括哪些专业
- 天气很热,用Python告诉你奶茶哪家最好喝性价比最高?
- 为什么计算机连不上无线网络,为什么无线网络连接上却不能上网,教您电脑连上无线网却不能上网怎么解决...
- gateway资源详解
- 纪念周恩来诞辰124周年
热门文章
- blockly自定义中文出问题_Blockly教程 创建自定义块-Blockly 开发者工具
- 微信登录,qq登录,微博登录之 tp3.2
- feign和openfeign的区别
- 【20211206】【信号处理】对傅里叶变换的理解和一个小例子
- 不同域名(多域名)下共享登录状态
- kali linux重启网卡失败:Job for networking.service failed because the control process exited with error...
- 第4章 SQL SELECT 语句教程
- 郭晓:敏捷文化里更需要的是领导力
- 离散余弦变换和离散傅里叶变换
- 2017oracle官网下载旧版本JDK