当前位置: 首页 > news >正文

PageHelper快速使用

依赖

<!--分页插件PageHelper-->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version>
</dependency>

示例

/**  
* 封装分页结果  
*/
@AllArgsConstructor  
@NoArgsConstructor  
@Data  
public class PageResult<T> {  // 总记录数  private Long total;  // 当前页的数据  private List<T> rows;  
}
@GetMapping("/findDetail")  
public PageResult<BookDetailResponse> queryDetailByName(@RequestBody Request<BookDetailQueryRequest> request) {  PageResult<BookDetailResponse> list = bookService.findDetail(request.getParam());  return list;  
}
PageResult<BookDetailResponse> findDetail(BookDetailQueryRequest request);
@Override  
public PageResult<BookDetailResponse> findDetail(BookDetailQueryRequest request) {  // 设置分页参数PageHelper.startPage(request.getPageRequest().getPageNo(), request.getPageRequest().getPageSize());  // 开始查询List<BookDetailResponse> list = bookMapper.findDetail(request.getName()); // PageResult需要total,pageHelper会自动查询并封装在一个Page对象中Page<BookDetailResponse> p = (Page<BookDetailResponse>) list;  return new PageResult<>(p.getTotal(), p.getResult());  
}

PageResult需要total参数, pageHelper会自动查询并封装在一个Page对象中, 所以需要接收一下, 那为什么能强转呢? 点进page源码,发现他继承了ArrayList, 而ArrayList又继承了List, 所以mapper查到的list已经是一个page类型了

依赖

<!--分页插件PageHelper-->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version>
</dependency>

示例

/**  
* 封装分页结果  
*/
@AllArgsConstructor  
@NoArgsConstructor  
@Data  
public class PageResult<T> {  // 总记录数  private Long total;  // 当前页的数据  private List<T> rows;  
}
@GetMapping("/findDetail")  
public PageResult<BookDetailResponse> queryDetailByName(@RequestBody Request<BookDetailQueryRequest> request) {  PageResult<BookDetailResponse> list = bookService.findDetail(request.getParam());  return list;  
}
PageResult<BookDetailResponse> findDetail(BookDetailQueryRequest request);
@Override  
public PageResult<BookDetailResponse> findDetail(BookDetailQueryRequest request) {  // 设置分页参数PageHelper.startPage(request.getPageRequest().getPageNo(), request.getPageRequest().getPageSize());  // 开始查询List<BookDetailResponse> list = bookMapper.findDetail(request.getName()); // PageResult需要total,pageHelper会自动查询并封装在一个Page对象中Page<BookDetailResponse> p = (Page<BookDetailResponse>) list;  return new PageResult<>(p.getTotal(), p.getResult());  
}

PageResult需要total参数, pageHelper会自动查询并封装在一个Page对象中, 所以需要接收一下, 那为什么能强转呢? 点进page源码,发现他继承了ArrayList, 而ArrayList又继承了List, 所以mapper查到的list已经是一个page类型了

![[attachments/Pasted image 20250119235619.png]]

http://www.lryc.cn/news/523518.html

相关文章:

  • 图像处理基础(3):均值滤波器及其变种
  • 力扣刷题心得_JAVA
  • 音乐播放器实现:前端HTML,CSS,JavaScript综合大项目
  • Unity编辑器缩放设置
  • ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT
  • Golang学习笔记_27——单例模式
  • хорошо哈拉少wordpress俄语主题
  • [数据结构与算法]js实现二叉树
  • MySQL程序之:连接到服务器的命令选项
  • python3GUI--仿崩坏三二次元登录页面(附下载地址) By:PyQt5
  • 阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化
  • Unity 学习指南与资料分享
  • Android SystemUI——CarSystemBar视图解析(十一)
  • .NET周刊【1月第1期 2025-01-05】
  • 初识go语言之指针用法
  • 用户中心项目教程(二)---umi3的使用出现的错误
  • Android设备:Linux远程gdb调试
  • (十四)WebGL纹理坐标初识
  • 【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展
  • Nginx安装配置Mac使用Nginx访问前端打包项目
  • 国自然面上项目|基于组合机器学习算法的病理性近视眼底多模态影像资料自动化定量分析研究|基金申请·25-01-18
  • 03_UI自适应
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • API接口技术推动电商数据处理的自动化
  • Nginx反向代理架构介绍
  • .Net Core微服务入门系列(一)——项目搭建
  • WPF 实现可视化操作数据库的程序全解析
  • python mysql库的三个库mysqlclient mysql-connector-python pymysql如何选择,他们之间的区别
  • 如何将数据库字符集改为中文,让今后所有的数据库都支持中文
  • Low-Level 大一统:如何使用Diffusion Models完成视频超分、去雨、去雾、降噪等所有Low-Level 任务?