分页查询,pageHelper, pagehelper-spring-boot-starter

一、传统分页查询

要想从数据库中进行分页查询,我们要使用LIMIT关键字,格式为:limit 开始索引 每页显示的条数

  1. 查询第1页数据的SQL语句是:
select * from emp  limit 0,10;
  1. 查询第2页数据的SQL语句是:
select * from emp  limit 10,10;
  1. 查询第3页的数据的SQL语句是:
select * from emp  limit 20,10;

观察以上SQL语句,发现: 开始索引一直在改变 , 每页显示条数是固定的
开始索引的计算公式: 开始索引 = (当前页码 - 1) * 每页显示条数

在这里插入图片描述
后台给前端返回的数据包含:List集合(数据列表)、total(总记录数)
而这两部分我们通常封装到PageBean对象中,并将该对象转换为json格式的数据响应回给浏览器。

@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {private Long total; //总记录数private List rows; //当前页数据列表
}
	//条件分页查询@GetMappingpublic Result page(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "10") Integer pageSize) {//记录日志log.info("分页查询,参数:{},{}", page, pageSize);//调用业务层分页查询功能PageBean pageBean = empService.page(page, pageSize);//响应return Result.success(pageBean);}

二、分页插件

2.1 pagehelper和pagehelper-spring-boot-starter区别

pagehelper:需要主动添加拦截器 (SSM项目推荐) ,添加拦截器之后才自动添加limit
pagehelper-spring-boot-starter:不需要主动添加拦截器,SpringBoot会主动帮我们添加拦截器 (SpringBoot项目推荐)

2.2依赖区别

SSM推荐,别忘了添加拦截器

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.0</version>
</dependency>

SpringBoot推荐,不需注定添加拦截器

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.2</version>
</dependency>

2.3使用

在这里插入图片描述

返回的信息:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1538354.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL高阶1783-大满贯数量

题目 找出每一个球员赢得大满贯比赛的次数。结果不包含没有赢得比赛的球员的ID 。 结果集 无顺序要求 。 准备数据 Create table If Not Exists Players (player_id int, player_name varchar(20)); Create table If Not Exists Championships (year int, Wimbledon int, F…

Agile Modbus STM32裸机移植 从机使用

本教程手把手教你实现Agile Modbus&#xff0c;照抄就能成。 并且会解读函数功能含义。 1. 引言 Agile Modbus 是一个轻量级的 Modbus 协议栈&#xff0c;可以满足用户在任何场景下的需求。 功能 支持 rtu 和 tcp 协议&#xff0c;使用纯 C 语言开发&#xff0c;不涉及任何硬…

《微处理器系统原理与应用设计第十三讲》通用同/异步收发器USART轮询模式应用设计

USART提供两设备之间的串行双工通信&#xff0c;并支持中断和DMA工作。采用轮询、中断和DMA三种方式进行数据收发。 一、功能需求 实现远程串行通信数据的回传确认。微处理器系统构成的测控设备通过USART&#xff08;串口&#xff09;与用户设备&#xff08;上位机&#xff0…

OpenHarmony(鸿蒙南向开发)——标准系统方案之扬帆移植案例

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ OpenHarmony&#xff08;鸿蒙南向开发&#xff09;——轻量系统STM32F407芯片移植案…

Java中的事务管理

1.1 事务管理 1.1 事务回顾 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时失败。 怎么样来控制这组操作&#xff0c;让这组操…

C++list的使用:尾插、头插、insert、erase、reverse、sort等的介绍

文章目录 前言一、尾插、头插、insert、erase二、reverse、sort总结 前言 Clist的使用&#xff1a;尾插、头插、insert、erase、reverse、sort等的介绍 一、尾插、头插、insert、erase #include <iostream> #include <list>using namespace std;void test_list1(…

【算法】BFS系列之 FloodFill 算法

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;图像渲染 .1- 题目解析 .2- 代码编写 2&#xff09;岛屿数量 .1- 题目解析 .2- 代码编写 3&#xff09;岛屿的最大面积 .1- 题目解析 .2- 代码编写 4&#xff09;被围绕的区域 .1- …

3DMAX动画渲染一百帧云渲染解决方案!

随着数字媒体快速发展&#xff0c;3D动画以其逼真的视觉效果和动态表现力&#xff0c;成为众多行业的首选。然而&#xff0c;高质量的3D动画渲染往往需要大量的计算资源。对于3DMAX动画渲染的一百帧&#xff0c;该如何的通过云渲染技术高效处理呢&#xff0c;我们一起来简单看看…

大中小企业应该如何选择PLM系统?PLM系统最新选型指南攻略

在当今竞争激烈的市场环境中&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;系统已成为企业不可或缺的工具&#xff0c;它帮助企业有效地管理从产品设计到淘汰的整个生命周期。然而&#xff0c;不同规模的企业在选择PLM系统时面临着不同的挑战和需求。本文将分析小型…

云计算实训50——Kubernetes基础命令、常用指令

一、Kubernetes 自动补齐 # 安装自动补齐软件 [rootmaster ~]# yum -y install bash-completion # 临时开启自动补齐功能 [rootmaster ~]# source # 永 久开启自动补齐功能 [rootmaster ~]# echo "source > ~/.bashrc 二、Kubernetes 基础命令 kubectl [command] …

C++伟大发明--模版

C起初是不受外界关注的&#xff0c;别人觉得他和C语言没有本质上的区别&#xff0c;只是方便些&#xff0c;直到祖师爷发明了模版&#xff0c;开始和C语言有了根本的区别。 我们通过一个小小的例子来搞清楚什么是模版&#xff0c;模版的作用到底有多大&#xff0c;平时我们想要…

【Python报错已解决】 Requests.exceptions.ProxyError: HTTPSConnectionPool

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

上证50股指期权如何交易?

今天期权懂带你了解上证50股指期权如何交易&#xff1f;上证50期权的交易是一个涉及多个步骤和策略的过程。 上证期权 上证期权是指在上海证券交易所交易的期权合约&#xff0c;主要包括上证50ETF期权等。它是一种金融衍生品&#xff0c;给予持有者在特定日期以约定价格买入或…

【数据结构与算法 | 灵神题单 | 自底向上DFS篇】力扣508, 1026, 951

1. 力扣508&#xff1a;出现次数最多的子树元素和 1.1 题目&#xff1a; 给你一个二叉树的根结点 root &#xff0c;请返回出现次数最多的子树元素和。如果有多个元素出现的次数相同&#xff0c;返回所有出现次数最多的子树元素和&#xff08;不限顺序&#xff09;。 一个结…

【项目设计】Facial-Hunter

目录 一、项目介绍 二、开发环境以及技术 三、项目架构设计 3.1 项目总体架构 3.2 客户端架构 3.3 主服务端架构 3.4 处理服务端架构 3.5 数据库设计 四、FaceNet 五、代码实现 一、项目介绍 该项目是基于深度学习与负载均衡的人脸识别系统 该项目主要由三个部分组…

CytoTRACE2单细胞分化潜力预测工具学习

开发者在github中把关键点介绍的很清楚了。 1、根据细胞的分化潜能对细胞进行分类&#xff1a; totipotent(多谱系分化的全能)—pluripotent(多谱系分化的多能)—multipotent(谱系限制分化的多能)—oligopoten(谱系限制分化的寡能)—unipotent(谱系限制分化的单能)—differen…

裸土检测算法实际应用、裸土检测算法样本、裸土检测算法精准检测

裸土检测算法是一种前沿的图像识别技术&#xff0c;它通过利用先进的图像处理技术和机器学习算法&#xff0c;从卫星图像、无人机拍摄的图像或其他地面监测数据中提取出裸土区域&#xff0c;并对其进行精确的分类和分析。 与传统的地面勘察方法相比&#xff0c;裸土检测算法具有…

Redisson分布式锁分析,可重入、可续锁(看门狗)

前言 在此说明&#xff0c;本文章不只是讲一些抽象的概念&#xff0c;而是可落地的&#xff0c;在日常工作中基本上进行修改一下便可以使用。书接上回&#xff0c;上篇自研分布式锁的文章使用是一个自己手写的一个分布式锁&#xff0c;按照JUC里面java.util.concurrent.locks.L…

子查询优化

MySQL学习大纲 我的数据库学习大纲 1、什么是子查询&#xff1a; 1.MySQL 从 4.1 版本开始支持子查询&#xff0c;使用子查询可以进行 SELECT 语句的嵌套查询&#xff0c;即一个 SELECT 查询的结果作为另一个 SELECT 语句的条件。子查询可以一次性完成很多逻辑上需要多个步骤才…

渗透测试综合靶场 DC-2 通关详解

一、准备阶段 准备工具如Kali Linux&#xff0c;下载并设置DC-2靶场机。确保攻击机和靶机在同一网络段&#xff0c;通常设置为桥接模式或NAT模式。 1.1 靶机描述 Much like DC-1, DC-2 is another purposely built vulnerable lab for the purpose of gaining experience in …