mysql实用系列:查询语句开启分页

在 Spring Boot 项目中使用 MyBatis 分页插件(PageHelper)的步骤如下:

  1. 添加依赖:在项目的 pom.xml 文件中添加 PageHelper 的依赖。
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>最新版本</version>
</dependency>
  1. 配置属性:在 application.propertiesapplication.yml 文件中配置 PageHelper 的属性。
# application.properties
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

或者

# application.yml
pagehelper:helperDialect: mysqlreasonable: truesupportMethodsArguments: trueparams: count=countSql
  1. 使用分页:在需要进行分页的 Mapper 接口的方法前调用 PageHelper.startPage() 方法。
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;public PageInfo<User> selectPagedUsers(int pageNumber, int pageSize) {PageHelper.startPage(pageNumber, pageSize);List<User> users = userMapper.selectAllUsers();return new PageInfo<>(users);}
}
  1. Mapper 接口:定义一个 Mapper 接口,用于查询用户列表。
import org.apache.ibatis.annotations.Mapper;
import java.util.List;@Mapper
public interface UserMapper {List<User> selectAllUsers();
}
  1. Mapper XML:(可选)如果你需要更复杂的 SQL 查询,可以在 Mapper XML 文件中定义 SQL 并使用 PageHelper
<select id="selectAllUsers" resultType="com.yourpackage.User">SELECT * FROM user
</select>
  1. Controller 层:在 Controller 层调用服务层的方法,传递分页参数。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageInfo;@RestController
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/users")public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int size) {return userService.selectPagedUsers(page, size);}
}
  1. 测试:启动 Spring Boot 应用并访问 /users 端点,传入 pagesize 参数来测试分页功能。

这样,你就可以在 Spring Boot 项目中使用 MyBatis 分页插件 PageHelper 来实现分页功能了。记得替换示例代码中的包名和类名以匹配你的项目结构。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode面试经典150题-36-有效数独升级版-37.解数独

解法都在代码里&#xff0c;不懂就留言或者私信&#xff0c;比第一题稍微难点 public static void solveSudoku(char[][] board) {/**定义三个二维数组分别代表行、列、桶&#xff08;每9个格子&#xff09;*/boolean[][] rowExists new boolean[9][10];boolean[][] colExist…

穿越Java世界的继承奇旅:从基类到子类的华丽蜕变

1.为什么要继承 2.什么是继承以及继承的方式 3.继承的一些语法 4.父类成员的访问 5.关键字super 6.关键字protected 7.关键字final 8.继承与组合 一&#xff1a;为什么要继承 ①代码重用&#xff1a;继承允许我们重用、扩展或修改父类的属性和方法&#xff0c;而无需重…

【linxu】虚拟环境中Python 版本错乱:深入探究 Linux 虚拟环境的识别问题

【linxu】虚拟环境中Python 版本错乱&#xff1a;深入探究 Linux 虚拟环境的识别问题 问题描述&#xff1a;在服务器上&#xff0c;我配置了一个虚拟环境&#xff0c;明确指定使用 Python 3.8 版本。然而&#xff0c;当我激活该环境并检查 Python 版本时&#xff0c;意外地发现…

Golang中的timer和ticker

Golang中的timer和ticker Timer func AppTimer() {// st : time.Now()// // 创建timer&#xff0c;定时2s// timer : time.NewTimer(2 * time.Second)// timer.Stop()// //<-timer.C// timer.Reset(3 * time.Second)// <-timer.C// fmt.Println(time.Since(st))// Afte…

21. Map接口中keySet()、values()和entrySet()方法的区别是什么?它们各自返回什么内容?

在Java中&#xff0c;Map接口提供了keySet()、values()和entrySet()方法&#xff0c;这些方法用于访问Map中的不同部分。下面详细介绍它们的区别以及它们各自返回的内容。 1. keySet() 方法 作用: keySet()方法返回Map中所有键&#xff08;Key&#xff09;的集合。 返回类型: …

OSI七层模型中的数据链路层

图片&#xff1a;数据帧的格式 这里面的一个关键点是&#xff0c;数据的源IP和目标IP在哪里&#xff1f; 就在图中的“数据”里面&#xff0c;这个“数据”也就是网络层的数据包&#xff0c;如果是TCP类型的数据包&#xff0c;数据包里面就包含TCP类型的首部信息&#xff0c;…

实测数据处理(RD算法处理)——SAR成像算法系列(十)

系列文章目录 《SAR学习笔记-SAR成像算法系列&#xff08;一&#xff09;》 《距离多普勒算法&#xff08;RDA&#xff09;-SAR成像算法系列&#xff08;三&#xff09;》 文章目录 一、算法流程 1.1、回波信号生成 1.2、 距离脉冲压缩 1.3、距离徙动校正 1.4、方位脉冲压缩 …

midwayjs 框架使用 rabbitmq 消息延迟

插件rabbitmq_delayed_message_exchange是RabbitMQ官方提供的一种用于实现延迟消息的解决方案。该插件将交换机类型扩展至x-delayed-message&#xff0c;这种类型的交换机能够将消息暂时挂起&#xff0c;直到设定的延迟时间到达&#xff0c;才将消息投递到绑定的队列中。这一特…

代理 IP 在工业物联网中的大作用

随着科技的飞速发展&#xff0c;工业物联网&#xff08;IIoT&#xff09;已经成为现代工业的重要组成部分&#xff0c;它通过将各种物理设备、传感器、控制系统等通过互联网连接起来&#xff0c;实现了工业生产的智能化、自动化和远程监控。而在这个庞大的网络体系中&#xff0…

掌握CHECK约束:确保数据准确性的关键技巧

掌握CHECK约束&#xff1a;确保数据准确性的关键技巧 在数据库设计和管理中&#xff0c;数据的准确性和完整性至关重要。CHECK约束是SQL中一种强大的工具&#xff0c;用于限制列中的数据值&#xff0c;确保它们满足特定的条件。本文将详细介绍如何使用CHECK约束&#xff0c;并…

湖南师范大学教育科学学报

期刊名称&#xff1a; 湖南师范大学教育科学学报 国内统一刊号(CN)&#xff1a; 42-94 国际标准刊号(ISSN)&#xff1a;BM1712 刊物设有两大特色专题“古典教育”和“教科书研究”&#xff0c;常设“教育基本理论研究”、“教育哲学研究”、“教师教育研究”、“高等教育研究”…

Nginx跨域问题解决

背景&#xff1a;云服务器上面部署了后端和前端&#xff0c;前端开发在本地启一个web访问页面&#xff0c;然后访问云服务的后端&#xff0c;然后出现问题 问题&#xff1a;Access to XMLHttpRequest at ‘http://192.168.10.100:8070/auth/login’ from origin ‘http://loca…

[E二叉树] lc104. 二叉树的最大深度(dfs+自顶向下)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接&#xff1a;104. 二叉树的最大深度 题单&#xff1a; 链表、二叉树与一般树&#xff08;前后指针/快慢指针/DFS/BFS/直径/LCA&#xff09; 2.2 自顶向下 DFS 2. 题目解析 思路&#xff1a; 很基础的 dfs 题目哈&#x…

k8s单master多node环境搭建-k8s版本低于1.24,容器运行时为docker

k8s 1.20.6单master多node环境搭建 1.环境规划2.初始化服务器1&#xff09;配置主机名2&#xff09;设置IP为静态IP3&#xff09;关闭selinux4&#xff09;配置主机hosts文件5&#xff09;配置三台主机之间免密登录6&#xff09;关闭交换分区swap&#xff0c;提升性能7&#xf…

github源码指引:C++嵌入式WEB服务器

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 相关专题&#xff1a; C嵌入式…

基于Spring Boot的文字识别系统

前端使用htmlcssjs&#xff0c;后端使用Spring Boot&#xff0c;数据库使用mysql&#xff0c;识别算法有两个&#xff0c;一个是使用百度OCR接口&#xff0c;一个是自己写一个python&#xff0c;用flask包装。 其中百度OCR接口可以去免费申请&#xff0c;然后把appid、apikey、…

Netty 知识目录

Netty 知识结构Netty Bootstrap/ServerBootstrapNetty EventLoopGroup/EventLoopNetty ChannelNetty ChannelPipeline/ChannelHandlerNetty ByteBufNetty TCPNetty UDPNetty HTTPNetty WebsocketNetty SSL/TLS

【王树森】Transformer模型(1/2): 剥离RNN,保留Attention(个人向笔记)

Transformer简介 Transformer 是一个Seq2Seq模型Tramsformer 不是RNNTransfomer 只有attention和全连接层机器翻译在大型数据集上完爆最好的RNN Review Attention for RNN 这节课讲的attention相对比于前两节课多了一个 v i v_i vi​&#xff0c;之前是用权重直接乘 h h h&…

【GD32】从零开始学GD32单片机 | USB通用串行总线接口+HID键盘例程(GD32F470ZGT6)

1. 简介 USB&#xff0c;全称通用串行总线&#xff0c;相信大家都非常熟悉了&#xff0c;日常生活只要用到手机电脑都离不开这个接口&#xff0c;像鼠标键盘U盘都需要使用这个接口进行数据传输&#xff0c;下面简单介绍一下。 1.1 版本标准 USB的标准总体可以分为低速、全速和…

业务资源管理模式语言02

图1 模式间的依赖关系 第一节&#xff1a;最开始&#xff0c;关注应用中包括的资源。首先&#xff0c;必须标识资源&#xff08;1&#xff09;&#xff0c;下一步&#xff0c;检查资源限定&#xff08;2&#xff09;&#xff0c;同时量化资源&#xff08;3&#xff09; 模式1…