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.思路分析

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测试

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 初始化数据池

3.查看效果

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 获取信息从而保证数据池对前端页面的实时渲染

6.结果展示

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.启动测试

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测试

6.带条件查询分页显示前端实现
1.src/views/HomeView.vue 基本准备
1.前端界面

2.数据池

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.结果展示

相关文章:
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. 前言 之前在设计一个兼容函数的时候,使用了sjson动态设入参数,从而实现一些参数的兼容。大致的逻辑如下所示: // 有一堆不规则的json数据 {"a":"aaa","b":"bbb","any_key1":{"k…...
如何在iOS系统抓取log
前言:因为作者目前工作领域和苹果智能家居有关,然后发现一些bug其实是apple sdk原生code的问题,所以需要给apple提radar单,就需要抓ios端Log充当证据给apple看,其实ios抓log非常简单,大家感兴趣可以学习下哦…...
【嵌入式——QT】Charts常见的图表的绘制
【嵌入式——QT】Charts常见的图表的绘制 柱状图QBarSetQBarSeriesQBarCategoryAxis图示 饼图堆叠柱状图百分比柱状图散点图和光滑曲线图代码示例 柱状图 QBarSet 用于创建柱状图的数据集。 主要函数 setLabel():设置数据集标签 ;setLabelBrush()&am…...
pandas读写excel,csv
1.读excel 1.to_dict() 函数基本语法 DataFrame.to_dict (self, orientdict , into ) --- 官方文档 函数种只需要填写一个参数:orient 即可 ,但对于写入orient的不同,字典的构造方式也不同,官网一共给出了6种,…...
清华大学突破性研究:GVGEN技术,7秒内从文字到3D高保真生成
引言:3D模型生成的挑战与机遇 随着计算机图形学的发展,3D模型的生成在各个行业中变得越来越重要,包括视频游戏设计、电影制作以及AR/VR技术等。在3D建模的不同方面中,从文本描述生成3D模型成为一个特别有趣的研究领域,…...
软件测试要学习的基础知识——黑盒测试
概述 黑盒测试也叫功能测试,通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作是一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,只检查程序功能是否按照需求规格…...
如何用Airtest脚本连接无线Android设备?
之前我们已经详细介绍过如何用AirtestIDE无线连接Android设备,它的关键点在于,需要先 adb connect 一次,才能点击 connect 按钮无线连接上该设备: 但是有很多同学,在使用纯Airtest脚本的形式连接无线设备时,…...
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.关联和非关联 传统数据库的表与表之间往往存在关联,例如外键: 而非关系型数据库不存在关联关系,要维护关系要么靠代码中的业务逻辑,要么靠数据之间的耦合: {id: 1,name: "张三…...
Redis 更新开源许可证 - 不再支持云供应商提供商业化的 Redis
原文:Rowan Trollope - 2024.03.20 未来的 Redis 版本将继续在 RSALv2 和 SSPLv1 双许可证下提供源代码的免费和宽松使用;这些版本将整合先前仅在 Redis Stack 中可用的高级数据类型和处理引擎。 从今天开始,所有未来的 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 代码如下: // XXX: Tests that fork a process to hold the BufferQueue must run bef…...
使用 Vite 和 Bun 构建前端
虽然 Vite 目前可以与 Bun 配合使用,但它尚未进行大量优化,也未调整以使用 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中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接…...
【项目管理后台】Vue3+Ts+Sass实战框架搭建二
Vue3TsSass搭建 git cz的配置mock 数据配置viteMockServe 建立mock/user.ts文件夹测试一下mock是否配置成功 axios二次封装解决env报错问题,ImportMeta”上不存在属性“env” 统一管理相关接口新建api/index.js 路由的配置建立router/index.ts将路由进行集中封装&am…...
制作一个RISC-V的操作系统六-bootstrap program(risv 引导程序)
文章目录 硬件基本概念qemu-virt地址映射系统引导CSRmachine模式下的csr对应的csr指令csrrwcsrrs mhartid引导程序做的事情判断当前hart是不是第一个hart初始化栈跳转到c语言的…...
haproxy和keepalived的区别与联系
HAProxy(High Availability Proxy) 是一个开源的、高效且可靠的解决方案,主要用于负载均衡。它工作在应用层(第七层),支持多种协议,如HTTP、HTTPS、FTP等。HAProxy通过健康检查机制持续监控后…...
云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度
作者:周静、吴宇奇、泮圣伟 在应用开发测试验证通过后、进行生产发布前,为了降低新版本发布带来的风险,期望能够先部署到灰度环境,用小部分业务流量进行全链路灰度验证,验证通过后再全量发布生产。本文主要介绍如何通…...
pta L1-004 计算摄氏温度
L1-004 计算摄氏温度 分数 5 全屏浏览 切换布局 作者 陈建海 单位 浙江大学 给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C5(F−32)/9。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出一个华氏…...
毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%
1. 降重方法:gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用!!sci论文,本硕大论文都可使用! 请帮我把下面句子重新组织,通过调整句子逻辑࿰…...
如何安全导出浏览器Cookie?本地处理方案全解析
如何安全导出浏览器Cookie?本地处理方案全解析 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在数据驱动的开发环境中,浏览…...
读懂 ABAP 调试器里的 ()XVBRP[]:这不是新语法,而是旧式内表加调试器命名表示法的组合
有朋友问我下面这个截图里的变量名是什么语法? 你这张截图里的 ()XVBRP[],结论上并不是一种新的 ABAP 变量声明语法。把它拆开看,更容易理解: XVBRP[] 这一段,核心含义是:XVBRP 是一个带 header line 的旧式内表,而 [] 明确表示你看到的是内表体 table body,不是同名的…...
OpenClaw技能扩展实战:用Phi-3-vision自动生成图文周报
OpenClaw技能扩展实战:用Phi-3-vision自动生成图文周报 1. 为什么需要自动化周报 每周五下午,我的电脑桌面上总会堆满散乱的Excel表格、截图和零散的Markdown笔记。作为技术负责人,我需要将这些碎片信息整合成结构化的图文周报,…...
告别空谈!用Langchain4j的Function Calling,为你的Java AI助手加上“查询订单”的实战能力
实战Langchain4j函数调用:为Java AI助手赋予订单查询能力 想象一下,当你的医疗预约AI助手不仅能回答"如何预防感冒",还能在你说"查看我下周的挂号记录"时,直接调取数据库返回具体预约信息——这种"能说…...
PyTorch 2.8镜像开发者案例:独立开发者打造个人AI视频工作室技术栈
PyTorch 2.8镜像开发者案例:独立开发者打造个人AI视频工作室技术栈 1. 从零搭建AI视频工作室的技术选择 作为一名独立开发者,我一直在寻找能够支撑个人AI视频创作的技术方案。经过多次尝试,最终选择了基于PyTorch 2.8的深度学习镜像作为核心…...
Open-AutoGLM场景实战:电商购物、出行旅游、内容浏览一键完成
Open-AutoGLM场景实战:电商购物、出行旅游、内容浏览一键完成 1. 引言:手机AI助手的革命性突破 想象一下这样的场景:早上醒来,你对手机说"帮我订一杯星巴克拿铁和一份三明治",手机自动完成打开外卖应用、选…...
小杰云商城系统源码/小程序源码平台/电商系统源码/完整版/全开源
小杰云商城系统源码 完整版 全开源 基于多款经典商城深度优化重构,不管是功能、颜值、安全、流畅度,直接给你干到天花板! 完美适配易支付V2和mapi支付,拿到手简单配置就能上线运营,不用你再费劲改接口! 功能多到爆炸࿰…...
C++高频交易内存池性能跃迁指南(从42μs到1.7μs的97.6%时延压缩路径)
第一章:C高频交易内存池性能跃迁全景图在毫秒乃至微秒级竞争的高频交易系统中,动态内存分配已成为关键性能瓶颈。标准 malloc 与 new 操作引入的锁争用、TLB抖动及堆碎片问题,直接导致订单延迟波动增大、吞吐量不可预测。现代低延迟内存池通过…...
Phi-4-mini-reasoning应用场景:科研助理——论文公式推导验证与符号计算辅助
Phi-4-mini-reasoning应用场景:科研助理——论文公式推导验证与符号计算辅助 1. 模型概述 Phi-4-mini-reasoning是一款由微软开发的轻量级开源模型,专注于数学推理和逻辑推导任务。这个3.8B参数的模型虽然体积小巧,但在强逻辑任务上表现出色…...
S-UI Windows版实战指南:从部署到精通的全方位解决方案
S-UI Windows版实战指南:从部署到精通的全方位解决方案 为什么选择S-UI?解决Windows代理管理的三大痛点 你是否也曾遇到这些问题:在Windows服务器上部署代理面板时,面对复杂的命令行操作望而却步?尝试多种工具后仍无法…...
