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

SpringBoot + MyBatisPlus分页查询

文章目录

    • 1.思路分析
    • 2.分页查询后端实现
        • 1.com/sun/furn/config/MybatisConfig.java 注入MyBatisPlus分页拦截器
        • 2.com/sun/furn/controller/FurnController.java 添加方法
        • 3.postman测试
    • 3.分页查询前端实现
        • 1.src/views/HomeView.vue 引入分页导航条组件
        • 2.src/views/HomeView.vue 初始化数据池
        • 3.查看效果
        • 4.src/views/HomeView.vue 方法池新增三个方法
        • 5.前端分页查询小结
            • Vue总结为一句话:**方法池三端获取数据,保证Model对View的实时渲染!**
        • 6.结果展示
    • 4.切换数据源为druid
        • 1.pom.xml 引入druid依赖
        • 2.com/sun/furn/config/DruidDataSourceConfig.java 配置文件注入druid数据源
        • 3.启动测试
    • 5.带条件查询分页显示后端实现
        • 1.com/sun/furn/controller/FurnController.java 添加方法
        • 2.postman测试
    • 6.带条件查询分页显示前端实现
        • 1.src/views/HomeView.vue 基本准备
          • 1.前端界面
          • 2.数据池
        • 2.src/views/HomeView.vue 直接修改方法区的list方法
        • 3.结果展示

1.思路分析

image-20240319140604182

2.分页查询后端实现

1.com/sun/furn/config/MybatisConfig.java 注入MyBatisPlus分页拦截器
package com.sun.furn.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** Description: MyBatis分页查询配置类** @Author sun* @Create 2024/3/19 14:13* @Version 1.0*/
@Configuration
public class MybatisConfig {/*** 注入一个MyBatisPlus拦截器,在其中添加一个内部拦截器*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();//这里分页需要指定数据库类型DbTypemybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return mybatisPlusInterceptor;}
}
2.com/sun/furn/controller/FurnController.java 添加方法
    /**** @param pageNum 第几页 默认1* @param pageSize 页的大小 默认5* @return*/@GetMapping("/furnsByPage")public Result listFurnsByPage(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "5") Integer pageSize) {//通过page方法,返回分页信息Page<Furn> page = furnService.page(new Page<>(pageNum, pageSize));return Result.success(page);}
3.postman测试

image-20240319143404796

3.分页查询前端实现

1.src/views/HomeView.vue 引入分页导航条组件
    <!--    引入分页导航条组件--><div style="margin: 10px 0"><el-pagination@size-change="handlePageSizeChange" @current-change="handleCurrentChange":current-page="currentPage":page-sizes="[5,10]":page-size="pageSize"layout="total, sizes, prev, pager, next, jumper":total="total"></el-pagination></div>
2.src/views/HomeView.vue 初始化数据池

image-20240319144709473

3.查看效果

image-20240319144729078

4.src/views/HomeView.vue 方法池新增三个方法
    // 分页显示家居信息list() {request.get("/api/furnsByPage", {params: {// 请求参数pageNum: this.currentPage,pageSize: this.pageSize}}).then(res => {this.tableData = res.data.recordsthis.total = res.data.total})},//监控pagesize的改变handlePageSizeChange(pageSize) {//更新数据池中的信息,使得view更新this.pageSize = pageSize//向后端发送分页请求,更新数据this.list()},//监控currentPage的改变handleCurrentChange(currentPage) {this.currentPage = currentPage//向后端发送分页请求,更新数据this.list()}
5.前端分页查询小结
Vue总结为一句话:方法池三端获取数据,保证Model对View的实时渲染!
  • 数据池就是保证对前端页面的实时渲染
  • 方法池就是通过从前端页面、数据池、后端DB 获取信息从而保证数据池对前端页面的实时渲染

image-20240319153233991

6.结果展示

image-20240319153932395

4.切换数据源为druid

1.pom.xml 引入druid依赖
    <!-- 引入 druid 依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.17</version></dependency>
2.com/sun/furn/config/DruidDataSourceConfig.java 配置文件注入druid数据源
package com.sun.furn.config;import com.alibaba.druid.pool.DruidDataSource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** Description: 注入德鲁伊数据源的配置类** @Author sun* @Create 2024/3/19 15:40* @Version 1.0*/
@Configuration
@Slf4j
public class DruidDataSourceConfig {@Bean@ConfigurationProperties("spring.datasource")public DruidDataSource druidDataSource() {DruidDataSource druidDataSource = new DruidDataSource();//日志输出,查看是否注入log.info("数据源={}" + druidDataSource);return druidDataSource;}
}
3.启动测试

image-20240319155344637

5.带条件查询分页显示后端实现

1.com/sun/furn/controller/FurnController.java 添加方法
    /*** 根据条件(name)进行查询** @param pageNum  第几页 默认1* @param pageSize 页的大小 默认5* @param search   查询条件 默认为空即不带条件* @return*/@GetMapping("/furnsByCondition")public Result listFurnsByConditionPage(@RequestParam(defaultValue = "1") Integer pageNum,@RequestParam(defaultValue = "5") Integer pageSize,@RequestParam(defaultValue = "") String search) {// 获取QueryWrapper对象QueryWrapper<Furn> query = Wrappers.query();if (StringUtils.hasText(search)) {//查询条件是name like。。。query.like("name", "%" + search + "%");}//返回page对象Page<Furn> page = furnService.page(new Page<>(pageNum, pageSize), query);return Result.success(page);}
2.postman测试

image-20240319162851610

6.带条件查询分页显示前端实现

1.src/views/HomeView.vue 基本准备
1.前端界面

image-20240319163811086

2.数据池

image-20240319163921012

2.src/views/HomeView.vue 直接修改方法区的list方法
    // 分页显示家居信息(条件查询)list() {request.get("/api/furnsByCondition", {params: {// 请求参数pageNum: this.currentPage,pageSize: this.pageSize,search: this.search //这里添加的根据名字进行查询的条件,如果没有在搜索框里输入,则是空,也就是不带条件进行查询}}).then(res => {this.tableData = res.data.recordsthis.total = res.data.total})}
3.结果展示

image-20240319164013455

相关文章:

SpringBoot + MyBatisPlus分页查询

文章目录 1.思路分析2.分页查询后端实现1.com/sun/furn/config/MybatisConfig.java 注入MyBatisPlus分页拦截器2.com/sun/furn/controller/FurnController.java 添加方法3.postman测试 3.分页查询前端实现1.src/views/HomeView.vue 引入分页导航条组件2.src/views/HomeView.vue…...

记使用sjson的一次小事故

1. 前言 之前在设计一个兼容函数的时候&#xff0c;使用了sjson动态设入参数&#xff0c;从而实现一些参数的兼容。大致的逻辑如下所示&#xff1a; // 有一堆不规则的json数据 {"a":"aaa","b":"bbb","any_key1":{"k…...

如何在iOS系统抓取log

前言&#xff1a;因为作者目前工作领域和苹果智能家居有关&#xff0c;然后发现一些bug其实是apple sdk原生code的问题&#xff0c;所以需要给apple提radar单&#xff0c;就需要抓ios端Log充当证据给apple看&#xff0c;其实ios抓log非常简单&#xff0c;大家感兴趣可以学习下哦…...

【嵌入式——QT】Charts常见的图表的绘制

【嵌入式——QT】Charts常见的图表的绘制 柱状图QBarSetQBarSeriesQBarCategoryAxis图示 饼图堆叠柱状图百分比柱状图散点图和光滑曲线图代码示例 柱状图 QBarSet 用于创建柱状图的数据集。 主要函数 setLabel()&#xff1a;设置数据集标签 &#xff1b;setLabelBrush()&am…...

pandas读写excel,csv

1.读excel 1.to_dict() 函数基本语法 DataFrame.to_dict (self, orientdict , into ) --- 官方文档 函数种只需要填写一个参数&#xff1a;orient 即可 &#xff0c;但对于写入orient的不同&#xff0c;字典的构造方式也不同&#xff0c;官网一共给出了6种&#xff0c…...

清华大学突破性研究:GVGEN技术,7秒内从文字到3D高保真生成

引言&#xff1a;3D模型生成的挑战与机遇 随着计算机图形学的发展&#xff0c;3D模型的生成在各个行业中变得越来越重要&#xff0c;包括视频游戏设计、电影制作以及AR/VR技术等。在3D建模的不同方面中&#xff0c;从文本描述生成3D模型成为一个特别有趣的研究领域&#xff0c;…...

软件测试要学习的基础知识——黑盒测试

概述 黑盒测试也叫功能测试&#xff0c;通过测试来检测每个功能是否都能正常使用。在测试中&#xff0c;把程序看作是一个不能打开的黑盒子&#xff0c;在完全不考虑程序内部结构和内部特性的情况下&#xff0c;对程序接口进行测试&#xff0c;只检查程序功能是否按照需求规格…...

如何用Airtest脚本连接无线Android设备?

之前我们已经详细介绍过如何用AirtestIDE无线连接Android设备&#xff0c;它的关键点在于&#xff0c;需要先 adb connect 一次&#xff0c;才能点击 connect 按钮无线连接上该设备&#xff1a; 但是有很多同学&#xff0c;在使用纯Airtest脚本的形式连接无线设备时&#xff0c…...

c语言函数大全(C开头)

c语言函数大全(C开头) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 函数名…...

初始Redis关联和非关联

基础篇Redis 3.初始Redis 3.1.2.关联和非关联 传统数据库的表与表之间往往存在关联&#xff0c;例如外键&#xff1a; 而非关系型数据库不存在关联关系&#xff0c;要维护关系要么靠代码中的业务逻辑&#xff0c;要么靠数据之间的耦合&#xff1a; {id: 1,name: "张三…...

Redis 更新开源许可证 - 不再支持云供应商提供商业化的 Redis

原文&#xff1a;Rowan Trollope - 2024.03.20 未来的 Redis 版本将继续在 RSALv2 和 SSPLv1 双许可证下提供源代码的免费和宽松使用&#xff1b;这些版本将整合先前仅在 Redis Stack 中可用的高级数据类型和处理引擎。 从今天开始&#xff0c;所有未来的 Redis 版本都将以开…...

生产者Producer往BufferQueue中写数据的过程

In normal operation, the producer calls dequeueBuffer() to get an empty buffer, fills it with data, then calls queueBuffer() to make it available to the consumer 代码如下&#xff1a; // XXX: Tests that fork a process to hold the BufferQueue must run bef…...

使用 Vite 和 Bun 构建前端

虽然 Vite 目前可以与 Bun 配合使用&#xff0c;但它尚未进行大量优化&#xff0c;也未调整以使用 Bun 的打包器、模块解析器或转译器。 Vite 可以与 Bun 完美兼容。从 Vite 的模板开始使用吧。 bun create vite my-app ✔ Select a framework: › React ✔ Select a variant:…...

如何设置IDEA远程连接服务器开发环境并结合cpolar实现ssh远程开发

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连接&#xf…...

【项目管理后台】Vue3+Ts+Sass实战框架搭建二

Vue3TsSass搭建 git cz的配置mock 数据配置viteMockServe 建立mock/user.ts文件夹测试一下mock是否配置成功 axios二次封装解决env报错问题&#xff0c;ImportMeta”上不存在属性“env” 统一管理相关接口新建api/index.js 路由的配置建立router/index.ts将路由进行集中封装&am…...

制作一个RISC-V的操作系统六-bootstrap program(risv 引导程序)

文章目录 硬件基本概念qemu-virt地址映射系统引导CSR![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/86461c434e7f4b1b982afba7fad0256c.png)machine模式下的csr对应的csr指令csrrwcsrrs mhartid引导程序做的事情判断当前hart是不是第一个hart初始化栈跳转到c语言的…...

haproxy和keepalived的区别与联系

HAProxy&#xff08;High Availability Proxy&#xff09; 是一个开源的、高效且可靠的解决方案&#xff0c;主要用于负载均衡。它工作在应用层&#xff08;第七层&#xff09;&#xff0c;支持多种协议&#xff0c;如HTTP、HTTPS、FTP等。HAProxy通过健康检查机制持续监控后…...

云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度

作者&#xff1a;周静、吴宇奇、泮圣伟 在应用开发测试验证通过后、进行生产发布前&#xff0c;为了降低新版本发布带来的风险&#xff0c;期望能够先部署到灰度环境&#xff0c;用小部分业务流量进行全链路灰度验证&#xff0c;验证通过后再全量发布生产。本文主要介绍如何通…...

pta L1-004 计算摄氏温度

L1-004 计算摄氏温度 分数 5 全屏浏览 切换布局 作者 陈建海 单位 浙江大学 给定一个华氏温度F&#xff0c;本题要求编写程序&#xff0c;计算对应的摄氏温度C。计算公式&#xff1a;C5(F−32)/9。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出一个华氏…...

毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%

1. 降重方法&#xff1a;gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用&#xff01;&#xff01;sci论文&#xff0c;本硕大论文都可使用&#xff01; 请帮我把下面句子重新组织&#xff0c;通过调整句子逻辑&#xff0…...

i茅台自动预约系统:告别手动抢购,5分钟搭建智能预约平台

i茅台自动预约系统&#xff1a;告别手动抢购&#xff0c;5分钟搭建智能预约平台 【免费下载链接】campus-imaotai i茅台app自动预约&#xff0c;每日自动预约&#xff0c;支持docker一键部署&#xff08;本项目不提供成品&#xff0c;使用的是已淘汰的算法&#xff09; 项目地…...

污水管网在线监测系统,精准定位污水偷排源头

当前&#xff0c;城市地下排水管网普遍存在“看不见、摸不着”的监管难题。污水偷排、漏检等现场层出不穷&#xff0c;依赖人工进行监测管理的方式无疑是十分困难的。因此&#xff0c;管理部门需要灵活运用先进技术&#xff0c;积极转变观念&#xff0c;实现对污水管网的定量、…...

Mac窗口置顶神器Topit:3分钟提升多任务效率的终极指南

Mac窗口置顶神器Topit&#xff1a;3分钟提升多任务效率的终极指南 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在Mac上同时处理多个任务&#xff…...

JMeter多线程压测:线程≠用户,避坑指南与真实行为建模

1. 为什么“多线程压测接口”不是简单点几下鼠标就能搞定的事 很多人第一次打开JMeter&#xff0c;新建一个线程组、填个URL、点“启动”&#xff0c;看到“聚合报告”里跳出几百个请求/秒&#xff0c;就以为自己已经掌握了接口压测。我当年也是这么想的——直到在一次电商大促…...

ParsecVDisplay:为Windows创建16个虚拟显示器的终极解决方案

ParsecVDisplay&#xff1a;为Windows创建16个虚拟显示器的终极解决方案 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 你是否曾经因为物理显示器的限制而感到束手束脚&#xff…...

XUnity.AutoTranslator:为Unity游戏注入多语言灵魂的智能翻译引擎

XUnity.AutoTranslator&#xff1a;为Unity游戏注入多语言灵魂的智能翻译引擎 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过了一款优秀的日本独立游戏&#xff1f;是否在欧…...

别再死记硬背了!用COMSOL 5.6搞定声学建模,从房间特征频率到完美匹配层(PML)实战避坑

别再死记硬背了&#xff01;用COMSOL 5.6搞定声学建模&#xff0c;从房间特征频率到完美匹配层&#xff08;PML&#xff09;实战避坑 声学建模在工程应用中越来越重要&#xff0c;无论是建筑声学设计、噪声控制还是医疗超声设备开发&#xff0c;都需要精确的声场模拟。但对于初…...

深度掌握AMD Ryzen性能调优:SMUDebugTool硬件调试终极指南

深度掌握AMD Ryzen性能调优&#xff1a;SMUDebugTool硬件调试终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

终极Gofile批量下载器深度解析:高效自动化文件获取的完整技术指南

终极Gofile批量下载器深度解析&#xff1a;高效自动化文件获取的完整技术指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 在当今数字化工作流中&#xff0c;技术人员经…...

百度网盘下载速度太慢?Python脚本帮你获取高速直链

百度网盘下载速度太慢&#xff1f;Python脚本帮你获取高速直链 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的下载速度而苦恼吗&#xff1f;想要摆脱客…...