当前位置: 首页 > 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]]

相关文章:

PageHelper快速使用

依赖 <!--分页插件PageHelper--> <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.7</version> </dependency>示例 /** * 封装分页结果…...

图像处理基础(3):均值滤波器及其变种

均值滤波器可以归为低通滤波器&#xff0c;是一种线性滤波器&#xff0c;其输出为邻域模板内的像素的简单平均值&#xff0c;主要用于图像的模糊和降噪。 均值滤波器的概念非常的直观&#xff0c;使用滤波器窗口内的像素的平均灰度值代替图像中的像素值&#xff0c;这样的结果就…...

力扣刷题心得_JAVA

数学 > 数组 > 链表 > 字符串 > 哈希表 > 双指针 > 递归 > 栈 > 队列 > 树 //一般力扣中传入的参数和新建的对象作为返回值,都不列入空间复杂度中 //但是面试的时候要和面试官商量好,灵活定义空间复杂度 //当然最好是就在传入的对象作为返回值,(在原…...

音乐播放器实现:前端HTML,CSS,JavaScript综合大项目

音乐播放器实现:前端HTML&#xff0c;CSS&#xff0c;JavaScript综合大项目 项目概述项目视图效果一、侧边栏相关代码&#xff08;一&#xff09;HTML代码&#xff08;二&#xff09;css代码 二、登录页面&#xff08;一&#xff09;HTML代码&#xff08;二&#xff09;css代码…...

Unity编辑器缩放设置

Unity默认界面UI字体太小了&#xff0c;可以设置一下缩放 打开首选项&#xff0c; UI Scaling 设置成125%或者更大 &#xff0c;然后重启...

ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT

文章目录 1.1 LLM 概述1.1.1 语言模型和NLP基础1.1.2 Transformer及在LLM中的作用1.1.3 解密 GPT 模型的标记化和预测步骤 1.2 GPT 模型简史&#xff1a;从 GPT-1 到 GPT-41.2.1 GPT11.2.2 GPT21.2.3 GPT-31.2.4 从 GPT-3 到 InstructGPT1.2.5 GPT-3.5、Codex 和 ChatGPT1.2.6 …...

Golang学习笔记_27——单例模式

Golang学习笔记_24——泛型 Golang学习笔记_25——协程Golang学习笔记_25——协程 Golang学习笔记_26——通道 文章目录 单例模式1. 介绍2. 应用场景3. 实现3.1 饿汉式3.2 懒汉模式 源码 单例模式 1. 介绍 单例模式是一种创建型设计模式&#xff0c;它确保一个类只有一个实例…...

хорошо哈拉少wordpress俄语主题

хорошо哈拉少wordpress俄语主题 wordpress俄文网站模板&#xff0c;推荐做俄罗斯市场的外贸公司建俄语独立站使用。 演示 https://www.jianzhanpress.com/?p7360...

[数据结构与算法]js实现二叉树

DFS 与 BFS dfs 递归 本质通过栈结构 bfs 层序遍历 通过队列结构 function permute(nums) {let res [];let cur []; // 记录当前内容let visted {}; //记录访问过的节点let len nums.length;function dfs(nth) {//递归终止条件if (nth len) {res.push([...cur]);return …...

MySQL程序之:连接到服务器的命令选项

本节介绍大多数MySQL客户端程序支持的选项&#xff0c;这些选项控制客户端程序如何建立与服务器的连接、连接是否加密以及连接是否压缩。这些选项可以在命令行或选项文件中给出。 连接建立的命令选项 本节介绍控制客户端程序如何建立与服务器的连接的选项。 表6.4连接建立选…...

python3GUI--仿崩坏三二次元登录页面(附下载地址) By:PyQt5

文章目录 一&#xff0e;前言二&#xff0e;预览三&#xff0e;实现方案1.实现原理1.PyQt52. 具体实现 2.UI设计1.UI组件化、模块化2.UI设计风格思路 3.项目代码结构4.使用方法3.代码分享1.支持跳转网页的QLabel组件2.三角形ICON按钮 四&#xff0e;总结 大小&#xff1a;33.3 …...

阿里云 Serverless 助力盟主直播:高并发下的稳定性和成本优化

在直播场景中&#xff0c;阿里云 Serverless 应用引擎 SAE 提供的无缝弹性伸缩与极速部署能力&#xff0c;确保直播间高并发时的流畅体验&#xff0c;降低了我们的运营成本&#xff0c;简化了运维流程。结合阿里云云原生数据库 PolarDB 的 Serverless 能力&#xff0c;实现了数…...

Unity 学习指南与资料分享

Unity学习资料 Unity学习资料 Unity学习资料 Unity 作为一款强大的跨平台游戏开发引擎&#xff0c;在游戏开发及实时 3D 内容创作领域占据着重要地位。它功能丰富、易于上手&#xff0c;支持多平台发布&#xff0c;为开发者提供了广阔的创作空间。下面为你带来全面的 Unity 学…...

Android SystemUI——CarSystemBar视图解析(十一)

前面文章我们已经把 CarSystemBar 从启动到构建视图,再到将视图添加到 Window 的流程分析完毕,我们知道默认情况下在车载系统中只显示顶部栏和底部栏视图的。这里我们在前面文章的基础上以顶部栏为例具体解析其视图的结构。 一、顶部栏解析 通过《CarSystemBar车载状态栏》这…...

.NET周刊【1月第1期 2025-01-05】

国内文章 3款.NET开源、功能强大的通讯调试工具&#xff0c;效率提升利器&#xff01; https://www.cnblogs.com/Can-daydayup/p/18631410 本文介绍了三款功能强大的.NET开源通讯调试工具&#xff0c;旨在提高调试效率。这些工具包括LLCOM&#xff0c;提供串口调试和自动化处…...

初识go语言之指针用法

一、环境准备 安装go语言编译环境&#xff0c;官网地址&#xff1a;https://go.dev/dl/ 或者 https://golang.google.cn/dl/ 点击下载按提示安装即可 vscode 安装go语言扩展 测试 package mainimport "fmt"func main() {fmt.Println("Hello, World!") …...

用户中心项目教程(二)---umi3的使用出现的错误

目录 1.情况的说明 2.遇到的问题 1&#xff09;第一个问题-关于npx的使用 2&#xff09;第二个问题--unsupport问题 3&#xff09;第三个收获--nodejs安装问题 4&#xff09;第四个收获---nvm下载问题 5&#xff09;第五个问题--尚未解决的问题 3.个人总结 1.情况的说明…...

Android设备:Linux远程gdb调试

更多内容&#xff1a;XiaoJ的知识星球 目录 1.准备工作1&#xff09;安装Android NDK&#xff1a;2&#xff09;连接Android手机3&#xff09;编译程序 2.启动gdbserver1&#xff09;**推送gdbserver及可执行文件**&#xff1a;**2&#xff09;启动gdbserver**&#xff1a;3&am…...

(十四)WebGL纹理坐标初识

纹理坐标是 WebGL 中将 2D 图像&#xff08;纹理&#xff09;应用到 3D 物体表面的重要概念。在 WebGL 中&#xff0c;纹理坐标通常使用一个二维坐标系&#xff0c;称为 uv 坐标&#xff0c;它们决定了纹理图像如何映射到几何体上。理解纹理坐标的核心就是明白它们如何将二维纹…...

【机器学习】制造业转型:机器学习如何推动工业 4.0 的深度发展

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 引言 在当今科技飞速发展的时代&#xff0c;制造业正经历着前所未有的变革&#xff0c;工业4.0的浪潮席卷而来。工业4.0旨在通过将…...

从H100集群到STM32H7:SITS2026首次公开“超低资源LLM”部署框架(支持<512KB RAM,精度损失<1.2%)

第一章&#xff1a;SITS2026演讲&#xff1a;大模型边缘部署技术 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场的Keynote环节&#xff0c;来自MIT边缘AI实验室与华为昇腾联合团队的报告首次系统性披露了面向10亿参数级大语言模型&#xff08;LLM&#xff0…...

STM32开发者必看:Openocd烧录全流程详解(附Keil生成bin文件技巧)

STM32开发者必看&#xff1a;Openocd烧录全流程详解&#xff08;附Keil生成bin文件技巧&#xff09; 在嵌入式开发领域&#xff0c;STM32系列微控制器因其出色的性能和丰富的生态而广受欢迎。对于开发者而言&#xff0c;掌握高效可靠的烧录工具是提升开发效率的关键一环。Openo…...

Vue3+TinyMCE数学公式插件实战:手把手解决kityformula-editor弹窗不显示问题

Vue3TinyMCE数学公式插件深度排障指南&#xff1a;从路径配置到弹窗层级的全链路解决方案 当Vue3项目遇上TinyMCE的数学公式插件kityformula-editor&#xff0c;开发者们常常在弹窗显示环节遭遇"幽灵现象"——点击公式按钮后要么毫无反应&#xff0c;要么页面直接跳转…...

保姆级教程:用daloRADIUS Web界面搞定Radius用户管理与在线监控

从零掌握daloRADIUS&#xff1a;可视化Radius管理的终极实践指南 当FreeRADIUS遇上daloRADIUS&#xff0c;就像给服务器装上了仪表盘——那些曾经需要反复敲命令的操作&#xff0c;现在点几下鼠标就能完成。作为运维老兵&#xff0c;我至今记得第一次在终端里手写users配置文件…...

从ChatGLM到Qwen,不同架构大模型的监控差异图谱:8大维度对比分析(含GPU/TPU/NPU全栈指标映射表)

第一章&#xff1a;大模型工程化运维监控体系建设的范式演进 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化运维监控已从传统AI服务的“可观测性补丁”阶段&#xff0c;演进为覆盖训练、推理、评估、反馈全生命周期的“闭环治理范式”。这一转变由模型规模跃升、…...

避坑指南:时间序列PCA分析最常见的5个错误(附正确操作)

避坑指南&#xff1a;时间序列PCA分析最常见的5个错误&#xff08;附正确操作&#xff09; 在金融预测、工业传感器监测或用户行为分析中&#xff0c;时间序列数据正以每秒TB级的速度增长。当数据科学家试图用PCA这把"瑞士军刀"处理这类数据时&#xff0c;约67%的案例…...

TrendPublish 模板开发完全手册:从零打造个性化微信公众号模板

TrendPublish 模板开发完全手册&#xff1a;从零打造个性化微信公众号模板 【免费下载链接】ai-trend-publish TrendPublish: 全自动 AI 内容生成与发布系统 | 微信公众号自动化 | 多源数据抓取 (Twitter/X、网站) | DeepseekAI、千问、讯飞模型 | 智能内容分析排序 | 定时发布…...

Cursor Free VIP:终极指南解锁AI编程助手完整功能

Cursor Free VIP&#xff1a;终极指南解锁AI编程助手完整功能 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial r…...

C语言期末突击:手把手教你搞定吉林大学计算机系高频考题(附完整代码)

C语言期末突击&#xff1a;吉林大学计算机系高频考题深度解析与实战指南 期末考试临近&#xff0c;对于吉林大学计算机系的同学们来说&#xff0c;C语言程序设计无疑是重点科目之一。面对复杂的指针操作、链表处理和递归算法&#xff0c;很多同学感到无从下手。本文将从历年高频…...

OpenEMR一体化医疗管理解决方案:实现高效合规的电子病历系统

OpenEMR一体化医疗管理解决方案&#xff1a;实现高效合规的电子病历系统 【免费下载链接】openemr The most popular open source electronic health records and medical practice management solution. 项目地址: https://gitcode.com/GitHub_Trending/op/openemr 在医…...