MyBatis-Plus 分页插件实现分页查询

news2024/7/4 4:57:39

目录

1. 配置分页查询的拦截器

2. 使用 Page 对象实现分页功能


1. 配置分页查询的拦截器

因为 MyBatis-Plus 里面使用了分页插件来实现分页查询, 所以我们需要将 MyBatis-Plus 的插件添加到当前的项目里, 这样我们执行的查询操作才会生效.

创建 PageConfig 类:

@Configuration
public class PageConfig {
    // 配置分页查询的拦截器
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 将 MP 里面的分页插件设置给 MP
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

当我们将 MP 里面的分页插件设置给 MP 之后, 它就会将 MaBatisPlusInterceptor 对象返回给框架, 于是框架就会执行 MyBatis-Plus 的一个拦截, 进而走 Mybatis-Plus 的分页插件, 从而实现分页查询功能.

2. 使用 Page 对象实现分页功能

待分页的数据如下 : 

【代码实现】

@RequestMapping("/getpage")
public Object getPage(Integer pindex, Integer psize) {
    // 非空效验 ...
    // 查询数据库得到分页数据
    Page page = new Page(pindex, psize);
    Page<User> result = userService.page(page);
    return result;
}

验证分页效果, 浏览器输入 http://127.0.0.1:8080/user/getpage?pindex=2&psize=2

查询第二页的数据,每页显示两条数据 : 

 结果正确!! 并且里面还提供了总共多少页数据, 非常方便~

【注意事项】

1. 项目中如果配置了拦截器, 拦截器中需要给分页接口放行.

2. 后端将数据返回给前端时, 想要拿到具体的分页数据, 不再是拿到 success 回调函数中 body 参数里封装好的 data 了, 而是 data 里面的 records 对象.

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

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

相关文章

华为云hcip核心知识笔记(存储服务规划)

云上存储 &#xff1a; 云硬盘:基于分布式架构&#xff0c;可弹性扩展的虚拟块存储服务 注意事项 挂载云硬盘实例和云硬盘必须在同一区域&#xff0c;否则挂载失败文件存储服务&#xff1a;完全托管的共享文件存储 可以为多个实例实现共享访问&#xff0c;不同vpc中可以进行对…

用python需要下载软件吗,python需要安装哪些软件

大家好&#xff0c;本文将围绕安装python需要什么样的电脑配置展开说明&#xff0c;python需要安装哪些软件是一个很多人都想弄明白的事情&#xff0c;想搞清楚用python需要下载软件吗需要先了解以下几个事情。 编程这东西很神奇。对于那些知道如何有用和有趣的这个工具,对于Xi…

数字IC验证高频面试问题整理附答案(二)

近日后台有同学私信还想要验证的面试题目&#xff0c;这不就来了~ Q16.权重约束中”:”和”: /”的区别 : 操作符表示值范围内的每一个值的权重是相同的,比如[1:3]:40,表示1&#xff0c;2&#xff0c;3取到的概率为40/120&#xff1b; :&#xff0f;操作符表示权重要平均分到…

手把手教你在云环境炼丹(部署Stable Diffusion WebUI)

前几天写了一篇《手把手教你在本机安装Stable Diffusion秋叶整合包》的文章&#xff0c;有些同学反映对硬件的要求太高&#xff0c;显卡太TM贵了。今天我再分享一个云服务器炼丹的方法&#xff0c;方便大家快速入门上手&#xff0c;这个云服务不需要特殊网络设置&#xff0c;能…

【rtmp】2: rtmp 推送 annexb

参考RTMP协议封装H264和H265协议详解 大神分析rtmp推送的大部分是annexb的h264 因此,我们就以此为格式 转为rtmp avcc 推送到服务器端。 一般sps、pps 前面有4个 字节的起始码,所以要跳过,不要计算在sps pps 长度里。 对于视频,先发avc头 第一个 5个字节 第一个字节 0x17 ,…

source insight常用操作

1、窗口布局 SI窗口十分丰富&#xff0c;通过菜单栏View->Toolbars/panels选择显示那些工具栏/窗口 Source Insight 窗口介绍_sourceinsight窗口_STCNXPARM的博客-CSDN博客 2、RGB护眼色 Source Insight4.0字体大小及护眼背景配置_sourceinsight4背景色配置_ProYuan28的…

Let’s Encrypt 免费证书提示:(STAGING) Pretend Pear X1证书不受信任

通过Let’s Encrypt 免费申请证书&#xff0c;发现浏览器并不信任 原因 我使用了ACME V2 测试环境&#xff1a; https://acme-staging-v02.api.letsencrypt.org/directory 需要改为生产环境 https://acme-v02.api.letsencrypt.org/directory 测试环境有两个活跃的根证书…

vue中的require

vue中的require 一、基本概念二、具体演示1.引入json2.引入图片 三、require.context引入图片&#xff1a;引入json引入模块js&#xff1a;引入vue文件&#xff1a; 一、基本概念 require 是 node 中的一个方法&#xff0c;他的作用是 用于引入模块、 JSON、或本地静态文件。r…

快速开发框架若依的基础使用详解

Hi I’m Shendi 快速开发框架若依的基础使用详解 最近在为公司制作新的项目&#xff0c;经过了一段时间的技术沉淀&#xff0c;我开始尝试接触市面上用的比较多的快速开发框架&#xff0c;听的最多的当属若依吧 于是就选用了若依 介绍 为什么选&#xff1f;目的是为了提高开发…

【前端设计】尝试一文搞懂verilog parameter的全部细节

这里是尼德兰的喵芯片设计相关文章&#xff0c;欢迎您的访问&#xff01; 如果文章对您有所帮助&#xff0c;期待您的点赞收藏&#xff01; 让我们一起为成为芯片前端全栈工程师而努力&#xff01; 一个参数的标准定义呢应该是这样的&#xff1a; parameter type range name …

SHELL——备份脚本

编写脚本&#xff0c;使用mysqldump实现分库分表备份。 1、获取分库备份的库名列表 [rootweb01 scripts]# mysql -uroot -p123456 -e "show databases;" | egrep -v "Database|information_schema|mysql|performance_schema|sys" mysql: [Warning] Using …

二十三种设计模式第十九篇--命令模式

命令模式是一种行为设计模式&#xff0c;它将请求封装成一个独立的对象&#xff0c;从而允许您以参数化的方式将客户端代码与具体实现解耦。在命令模式中&#xff0c;命令对象充当调用者和接收者之间的中介。这使您能够根据需要将请求排队、记录请求日志、撤销操作等。 命令模…

华为数通HCIP-IP组播基础

ospf、isis、BGP--ping通&#xff0c;单播路由--单播路由表&#xff1b; mpls--单播标签互通 点到多点业务流量下发 1、通过广播 一对所有发送&#xff1b; 缺陷&#xff1a;导致流量的有偿性、安全性得不到保障&#xff1b; 2、通过单播 一对一发送&#xff1b; 缺陷&…

嵌入式软件和硬件首先说一下怎么入门?

1&#xff0c;编程。这个你是否懂C语言编程&#xff0c;能够熟练或者熟悉使用C语言编写一段程序。不懂学习C语言。 2&#xff0c;单片机。你是否了解什么是单片机&#xff0c;单片机是做什么的。不懂的话&#xff0c;最好先了解一下什么是单片机&#xff0c;看下书&#xff0c…

万里腾飞终有路,国产替代正当时

2023年7月27-28日&#xff0c;I-CAR 2023 第六届细胞免疫疗法深度聚焦论坛在上海建工浦江皇冠假日酒店隆重举办&#xff0c;本次大会主要围绕实体瘤、质量控制&产业化、通用CAR-T疗法、免疫治疗新风口四大主题展开&#xff0c;就细胞免疫治疗快速发展崛起的同时&#xff0c…

openGauss学习笔记-26 openGauss 高级数据管理-约束

文章目录 openGauss学习笔记-26 openGauss 高级数据管理-约束26.1 NOT NULL约束26.2 UNIQUE约束26.3 PRIMARY KEY26.4 FOREIGN KEY26.5 CHECK约束 openGauss学习笔记-26 openGauss 高级数据管理-约束 约束子句用于声明约束&#xff0c;新行或者更新的行必须满足这些约束才能成…

ubuntu下,在vscode中使用platformio出现 Can not find working Python 3.6+ Interpreter的问题

有一段时间没有使用platformio了&#xff0c;今天突然使用的时候&#xff0c;发现用不了&#xff0c;报错&#xff1a; Ubuntu PlatformIO: Can not find working Python 3.6 Interpreter. Please install the latest Python 3 and restart VSCode。 上网一查&#xff0c;发现…

最全面的TCP、UDP、Socket、HTTP网络编程面试题

先看一天面试的经验&#xff1a; 第一场&#xff1a; 面试官&#xff1a;你说一下TCP的三次握手 我&#xff1a;第一次Client将SYN置1......、第二次Server收........、 第三次........ 面试官&#xff1a;很难背吧&#xff1f; 我&#xff1a;......是啊&#xff0c;很难&…

【编译】gcc make cmake Makefile CMakeList.txt 区别

文章目录 一 关系二 gcc2.1 编译过程2.2 编译参数2.3 静态库和动态库1 后缀名2 联系与区别 2.4 GDB 调试器1 常用命令 三 make、makefile四 cmake、cmakelist4.1 语法特性4.2 重要命令4.2 重要变量4.3 编译流程4.4 两种构建方式 五 Vscode5.0 常用快捷键5.1 界面5.2 插件5.3 .v…

程序的编译(3/13)

经过预处理后的源文件&#xff0c;褪去一切包装&#xff0c;注释被删除&#xff0c;预处理命令也基本上被处理掉&#xff0c;剩下的就是 C 代码了。接下来的第二步&#xff0c;就进入到编译阶段。编译阶段主要分为两步&#xff1a;第一步&#xff0c;编译器调用一系列解析工具分…