【MySQL】第二弹——MySQL表的增删改查(CURD))
文章目录
- 🎓一. CRUD
- 🎓二. 新增(Create)
- 🎓三. 查询(Rertieve)
- 📖1. 全列查询
- 📖2. 指定列查询
- 📖3. 查询带有表达式
- 📖4. 起别名查询(as ' ')
- 📖 5. 去重查询(distinct)
- 📖6. 排序查询(order by)
- 📖7. 条件查询(where)
- <font color= #32CD32 size=3> 1.比较运算符
- <font color= #32CD32 size=3> 2.逻辑运算符
- 📖8. 分页查询
- 🎓四. 修改(Update)
- 🎓五. 删除(Delete)
- 总结
🎓一. CRUD
- CURD: Create,Retrieve,Update,Delete
- Create : 新增数据
- Retrieve : 查询数据
- Update : 修改数据
- Delete : 删除数据
MySQL的工作就是组织管理数据,先保存,保存好了后好进行增删改查,增删改查的前提是已经把数据库创建好,并且选中数据库,表也创建就绪
- 如何注释?
在SQL中可以使用“–空格+描述”来表示注释说明
🎓二. 新增(Create)
insert into 表名 values(值, 值, 值…);
注意此处的值的个数要和表的列数匹配,值的类型也要和列的类型匹配(不匹配就会报错!)
这里也体现了关系型数据库的一个优势:对数据进行更严格的校验检查,更容易发现问题
①我们在库里创建一个学生表
②查看表的结构
③新增数据
注意:在SQL中可以单引号也可以用双引号,表示字符串,两种都可以,这两个是等价关系,在SQL中没有"字符类型",只有字符串类型,所以单引号也可以表示字符串
注意:这里表的列数不匹配或是类型不匹配,都会报错
出现ERROR意味着当前的操作是不生效的
- 扩展
这里可以插入中文数据
数据库表示中文需要明确字符编码,MySQL默认的字符集叫做拉丁文,不支持中文,为了可以存储,就需要把字符集改为UTF-8。我们这里直接修改MySQL的配置文件,直接把字符集改为UTF-8
至此MySQL配置修改就彻底结束了,我们继续insert的探讨
insert插入的时候可以指定列进行插入,不一定非得把这一行的所有列都插入数据,可以想插入几列就插入几列
名字列插入王五,其他列未被插入,比如id列,就会填入默认值NULL
insert语句也可以依次插入多条记录,在values后面,写多组(),每个()之间使用逗号分割
mysql> insert into student values(1,"zhangsan"),(2,"lisi"),(3,"wangwu");
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0
MySQL中,一次插入多条记录比不同的一条记录多次插入要快得多!
- 主要是因为MySQL是一个客户端/服务器结构的程序,每次在客户端里输入的命令,都是通过网络来进行输入的
- 数据库服务器需要解析请求,获取到其中的sql,解析sql执行相关操作,并且把操作结果返回给客户端
- 如果要是一次插入一条,分成多次插入就会有多个请求/响应,如果要是一次插入多条,就一次请求/响应就够了
- 所以还是一次请求/响应 快多了
插入是SQL中最简单的操作,也是最常用的操作
🎓三. 查询(Rertieve)
查询是SQL中最重要也是最复杂的操作,这里我们先介绍的是最简单的查询
📖1. 全列查询
- 直接把整个表的数据查询出来
select * from 表名;
其中 * 是通配符 表示匹配任意的列(也就是所有的列)
注意:要理解这里的执行过程,客户端和服务器之间通过网络进行通信
这一组结果是通过网络返回的,最终呈现在客户端上,这些数据是服务器筛选得到的数据结果,客户端也是以表格的形式进行呈现,但是大家不要把客户端显示的这个表格视为是服务器上数据的本体,这个客户端上显示的表格是个“临时表”
问题:如果当前数据库的数据特别多,执行select * 会发生什么?
- 服务器要先读取磁盘,把这些数据都查询出来,再通过网卡把数据传输给客户端,由于数据量非常大,极有可能就把磁盘IO(input output)吃满或者把网络带宽吃满。最直观的感受就是会感受到卡顿,至于卡多久,不明确! 不可控!
- 所以在我们的生产环境中这也是一个比较危险的操作,数据很多可能会达到TB级别,磁盘资源和网络资源在服务器上都是非常紧缺的资源,一定要珍惜我们有限的资源,全列查询可能会将服务器资源吃光,其他的操作就要等待当前操作执行完成,才能继续执行
在执行一些SQL的时候如果执行的时间比较长,随时可以按 Ctrl + c 来中断,以免造成不必要的损失
📖2. 指定列查询
select 列名,列名,列名… from 表名; //需要查询几个列,就写几个列
当我们省略掉一些不必要的列的时候,就可以节省大量的磁盘IO和网络带宽
同样的,MySQL是客户端服务器结构的程序,在此处看到的这个表结果,也同样是 " 临时表 " 只是在客户端这里显示成这个样子,而不是说服务器上就真有一个这样的表,里面只存了id列
select所有的操作结果都是临时表,都不会影响到数据库服务器原有的数据!
📖3. 查询带有表达式
创建一个表exam 设置属性 插入数据
可以将所有的成绩加在一起,起别名为总分
别名最规范的写法是 : as ’ 总分 ’
给结果集中的字段起别名:select 列名[as] 别名[, 列名]… from 表名;
📖4. 起别名查询(as ’ ')
select name, chinese + math + english as ‘total’ from exam;
给结果集中的字段起别名:select 列名[as] 别名[, 列名]… from 表名;
📖 5. 去重查询(distinct)
- 把查询结果相同的记录,合并为一条记录
select distinct 列名 from 表名;
- 去重时,只有查询结果中所有的列都相同才会被认定为重复记录
- 去重后,重复记录只保留一条
📖6. 排序查询(order by)
- 查询过程中,对于查询到的数据进行排序(只是针对临时表,对于数据库原本的数据没有影响)
select 列名 from 表名 order by 列名[ ASC | DESC];
排序规则:1.升序 ASC 2.降序 DESC 不写默认为升序
不推荐这种写法,我们强烈建议明确指定排序规则
没有order by 子句时,返回结果集按哪个字段进行排序?
没有指定order by 子句时,永远不要依赖默认排序返回结果集顺序
不同版本的 MYSQL 是根据哪个字段进行排序的 是不明确的
依赖某个排序规则时,就明确子句中排序字段
在SQL中,如果NULL和其他类型进行混合运算结果依然那是NULL
NULL 数据排序,视为比任何值都小,升序排在最上面,降序排在最下面
MySQL中NULL比较特殊
1.无论和什么值进行运算,返回值都是NULL
2.NULL始终被判定为FALSE
3.NULL的值不是我们以前学习的其他编程语言的0在MySQL他就是NULL
- 可以对多个字段进行排序,排序的优先级与书写顺序相关
- 可以为每个字段指定不同的排序规则
📖7. 条件查询(where)
- 指定条件,对于查询结果进行筛选
- 通过一写运算符,过滤掉不符合条件的记录,符合条件的发那会给用户
select * from 表名 where 条件;
1.比较运算符
下面进行几个示例:
2.逻辑运算符
逻辑运算符有优先级,不建议记忆,在使用时通过小括号的方式,手动指定优先级,这样可读性也会高一点
使用where条件的语法:select * from 表名 where 列名/表达式 运算符 条件;
条件查询时,首先要确定好给哪个列设置相应的条件
- 做几个练习:
- 1.查询英语不及格的同学及英语成绩
- 2.查询语文成绩好于英语成绩的同学
- 3.查询总分再200以下的同学
<出现这种现象和MYSQL内部实现有关,换句话说和MYSQL执行SQL语句的顺序相关>
1.如果要在数据中查询某些数据,首先要确定表,即先执行from
2.查询过程中,要根据指定的查询过程过滤符合条件的数据,这时执行where子句,也就是说执行where时total还没有被定义,所以不能使用别名
3.执行select后面指定的列,这些列加入到最终结果集中
4,执行order by 子句中指定的列名和排序规则进行最后的排序
- 4.查询语文成绩>80,且英语>80的同学
- 5.查询语文>80 或 英语>80 的同学
or 只要一个条件满足就符合整个查询条件
观察and 和 or 的优先级
-
6.查询语文成绩在[80,90]的同学及语文成绩
-
7.查询数学成绩是 58 或者 59 或者 98 或者 99 的同学及数学成绩
-
8.%匹配任意多个(包括0个)字符
%匹配的字符没有限制
- 9._匹配严格的一个任意字符
-
- NULL的查询 : IS [NOT] NULL
- NULL的查询 : IS [NOT] NULL
📖8. 分页查询
- 使用 limit 关键字,来进行限制返回的结果条数,使用 offset 来确定从第几条开始进行返回
select 列名 from 表名 limit N offset M;
select 列名 from 表名 limit M,N;
之前我们学习select * from 表名;的时候,有提过,不加限制记录条数的查询是不安全的
分页查询在项目中运用非常多,只要查询的是一个记录的集合(多条记录)都在使用分页查询
通过分页查询可以有效的控制一次查询出来的结果集中的记录的条数,有效的减少数据库服务器的压力,同时对于用户页比较友好
-
从第M条开始查询,返回N条记录
-
1.从 0 开始,筛选 n 条结果
-
2.从S开始,筛选N条结果
-
3.从S开始,筛选N条结果,比第二种方法更明确,建议使用
S=(当前页号-1)*每页显示的记录数
第三页 S=(3-1)*2=4
- 第三页查询
🎓四. 修改(Update)
- 此处的修改,针对数据库服务进行的,修改时持续有效的
update 表名 set 列名 = 值… where 子句;
针对哪个表 哪些行 哪些列 修改成什么值
-
1.将孙悟空的数学成绩变更为80分
-
2.在插入一条同名的孙悟空同学
3.update exam set math = 100;
update 操作的时候,如果不加where 条件,修改的是整张表的所有记录,这个操作非常危险,谨慎操作! -
4.将曹孟德的数学变更为60,语文 变更为70
update 表名 set 列名 = 值, 列名 = 值 where 条件;
- 5.将总成绩倒数三位的同学,数学成绩减30分
如果是加上30分会超出我们原定的范围
我们创建表时用到的decimal(3,1)表示三个数字的长度,保留一位小数,如88.3 77.9
set 中可以包含表达式
update 表名 set 列名 = 列名 + 30 where 条件 order by 列名 排序规则 limit N;
- 6.把所有语文成绩低于50的同学的语文成绩更新为原来的2倍
🎓五. 删除(Delete)
delete from 表名 [where…] [order by…] [limit…]
- 1.删除孙悟空同学的考试成绩
- 2.删除英语成绩倒数前三的同学的所有成绩
- 3.delete 的时候,如果不加where条件会出现什么问题–全删
如果删除时不加条件限制,那么整张表的数据都会被删除掉(清空)
这个操作是非常危险的
虽然可以恢复,每一条执行的SQL都会被记录到日志中,把日志中记录的操作,在执行一遍基本上就可以完成恢复
在生产环境中一般不使用delete操作
一般会在表中加一个deleteState字段,用来表示这条记录是否删除,0表示正常(没有删除) 1表示已删除,用update操作去更新deleteState字段,就可以实现删除功能,这条被删除的数据并没有实质上删除而是始终存在于数据库中
总结
相关文章:
【MySQL】第二弹——MySQL表的增删改查(CURD))
文章目录 🎓一. CRUD🎓二. 新增(Create)🎓三. 查询(Rertieve)📖1. 全列查询📖2. 指定列查询📖3. 查询带有表达式📖4. 起别名查询(as )📖 5. 去重查询(distinct)📖6. 排序…...
Android NDK版本迭代与FFmpeg交叉编译完全指南
在Android开发中,使用NDK(Native Development Kit)进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时。本文将深入分析Android NDK的版本迭代分界线,详细讲解FFmpeg交叉编译的注意事项,并提供完整的…...
【Linux网络】Socket-UDP相关函数
socket() 函数 这个函数的作用是创建一个 Socket 文件描述符,在客户端和服务器都可以使用。 #include <sys/socket.h> int socket(int domain, int type, int protocol);参数: domain:指定协议族,例如 AF_INET 代表 IPv4 …...
最优化方法Python计算:有约束优化应用——线性Lasso回归预测器
实际应用中,特征维度 n n n通常远大于样本容量 m m m( n ≪ m n\ll m n≪m),这种高维小样本场景下特征数据可能含有对标签数据 y i y_i yi的取值不必要的成分,甚至是噪声。此时,我们希望回归模型中的优化…...
基础算法 —— 二分算法 【复习总结】
1. 简介 1.1 原理 二分算法,顾名思义,关键在于二分,当我们求解的目标具有二段性时,我们就可以使用二分算法: 先根据待查找区间中点位置,判断结果会在左侧还是右侧,接下来,舍弃一半…...
计算机网络常识:缓存、长短连接 网络初探、URL、客户端与服务端、域名操作 tcp 三次握手 四次挥手
缓存: 缓存是对cpu,内存的一个节约:节约的是网络带宽资源 节约服务器的性能 资源的每次下载和请求都会造成服务器的一个压力 减少网络对资源拉取的延迟 这个就是浏览器缓存的一个好处 表示这个html页面的返回是不要缓存的 忽略缓存 需要每次…...
OpenHarmony平台驱动开发(九),MIPI DSI
OpenHarmony平台驱动开发(九) MIPI DSI 概述 功能简介 DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降…...
经济体制1
一.计划经济体制与市场经济体制 1.计划经济又称指令型经济,是对生产和资源分配以及产品消费事先进行计划的经济体制。 市场经济体制是指依靠市场手段对资源进行配置的经济体制 注意: 计划与市场都是调节经济的手段,都属于资源配…...
Spring AI 入门(持续更新)
介绍 Spring AI 是 Spring 项目中一个面向 AI 应用的模块,旨在通过集成开源框架、提供标准化的工具和便捷的开发体验,加速 AI 应用程序的构建和部署。 依赖 <!-- 基于 WebFlux 的响应式 SSE 传输 --> <dependency><groupId>org.spr…...
[ctfshow web入门] web58
信息收集 if(isset($_POST[c])){$c $_POST[c];eval($c); }else{highlight_file(__FILE__); }这麽简单? 解题 好吧,还是我想得太简单了 把system禁用了。不是参数过滤,而是直接禁用,不管是间接还是直接调用system都不行&#x…...
Python量化交易Backtrader技术指标的实现
一、Backtrader技术指标概览 (一)Backtrader内置指标的优势 Backtrader内置的技术指标具有以下优势: 多样性:涵盖了常见的移动平均线、相对强弱指数(RSI)、布林带等多种指标,满足了不同交易者的需求。易用性:通过简单的函数调用即可在策略中添加和使用这些指标,无需…...
蓝桥杯第十六届c组c++题目及个人理解
本篇文章只是部分题目的理解,代码和思路仅供参考,切勿当成正确答案,欢迎各位小伙伴在评论区与博主交流! 题目:2025 题目解析 核心提取 要求的数中至少有1个0、2个2、1个5 代码展示 #include<iostream> #incl…...
ARM 芯片上移植 Ubuntu 操作系统详细步骤
一、准备工作 (一)硬件准备 ARM 开发板:确保 ARM 开发板的型号与 Ubuntu 官方支持的 ARM 架构兼容,常见的 ARM 架构有 ARMv7、ARMv8 等。例如树莓派系列开发板,广泛用于 ARM 系统移植,其采用 ARM 架构。存…...
能耗优化新引擎:EIOT平台助力企业降本增效
安科瑞顾强 数字化转型的背景下,能源管理正加速向智能化、远程化方向演进。安科瑞电气推出的EIOT托管平台及ADW300系列4G无线计量仪表,通过云端技术与无线通信的深度融合,为用户打造了高效、便捷的远程能源监测与管理体系,助力企…...
录播课视觉包装与转化率提升指南
1. 封面设计黄金法则 1.1 程序员审美三要素 极客风配色方案 主色:深空灰(#2D2D2D) 代码蓝(#007BFF) 点缀色:终端绿(#28A745) 警告黄(#FFC107) 信息密度控制 核心标语≤9字(如:"3天攻克分布式事务") 技…...
Solidity语言基础:区块链智能合约开发入门指南
一、Solidity概述 Solidity是以太坊生态系统中最重要的智能合约编程语言,由Gavin Wood于2014年提出。作为面向合约的高级语言,它结合了JavaScript、Python和C的语法特点,专为在以太坊虚拟机(EVM)上运行而设计。 核心…...
QMK开发环境搭建指南:Eclipse和VS Code详解
QMK开发环境搭建指南:Eclipse和VS Code详解 前言 各位键盘DIY爱好者们,今天跟大家分享如何搭建QMK固件开发环境。无论你是想定制自己的客制化键盘固件,还是对开源键盘固件开发感兴趣,这篇教程都能帮你搞定开发环境配置。本文将详…...
Python pandas 向excel追加数据,不覆盖之前的数据
最近突然看了一下pandas向excel追加数据的方法,发现有很多人出了一些馊主意; 比如用concat,append等方法,这种方法的会先将旧数据df_1读取到内存,再把新数据df_2与旧的合并,形成df_new,再覆盖写入,消耗和速…...
spring中RequestContextHolder
1、在 Spring 框架中, RequestAttributes attributes RequestContextHolder.getRequestAttributes(); 是获取当前请求上下文的核心方法。以下是其关键要点及注意事项: 一、核心机制 作用原理 通过 ThreadLocal 存储当前线程的请求属性对象 …...
Kotlin 遍历
在 Kotlin 中,遍历(迭代)是操作集合、数组、范围(Range)等数据结构的常见需求。Kotlin 提供了多种遍历方式,语法简洁且功能强大。以下是不同场景下的遍历方法总结,附代码示例: 一、…...
Ubuntu Linux系统配置账号无密码sudo
在Linux系统中,配置无密码sudo可以通过修改sudoers文件来实现。以下是具体的配置步骤 一、编辑sudoers文件 输入sudo visudo命令来编辑sudo的配置文件。visudo是一个专门用于编辑sudoers文件的命令,它会在保存前检查语法错误,从而防止可能的…...
C# NX二次开发:判断两个体是否干涉和获取系统日志的UFUN函数
大家好,今天要讲关于如何判断两个体是否干涉和获取系统日志的UFUN函数。 (1)UF_MODL_check_interference:这个函数的定义为根据单个目标体检查每个指定的工具体是否有干扰。 Defined in: uf_modl.h Overview Checks each sp…...
若依项目图片显示问题
图片显示异常问题 路径配置问题:前端图片路径配置错误,最初使用相对路径且未从根目录开始解析,导致浏览器根据当前页面 URL 解析路径出错。例如在用户信息展示页面,若当前页面 URL 为http://localhost:8088/user/profileÿ…...
线索二叉树
一 概念 线索二叉树(Threaded Binary Tree)是一种对二叉树的优化结构,主要解决传统二叉树遍历时需要借助栈或递归(额外空间开销)的问题。通过利用节点中的空指针(nullptr)存储遍历过程中的前驱…...
Git查看某个commit的改动
在Git中查看特定commit的改动有多种方法,下面是几种常用的命令行方式: 1. 使用 git show 命令 这是最常用的方法,直接显示某个commit的详细信息和改动: git show <commit-hash> 例如: git show abc1234 也可…...
es 里的Filesystem Cache 理解
文章目录 背景问题1,Filesystem Cache 里放的是啥问题2,哪些查询它们会受益于文件系统缓存 问题3 查询分析 背景 对于es 优化来说常常看到会有一条结论给,给 JVM Heap 最多不超过物理内存的 50%,且不要超过 31GB(避免…...
2025年3月电子学会等级考试五级题——4、收费站在哪里
文章目录 题目代码公式小结 题目 4、收费站在哪里 在一条高速公路上,如果已知 n 座收费站的位置 x1,x2,… ,xn(不妨假设 0x1 ≤ x2 ≤ … ≤ xn),就很容易算出一共有 n(n-1)/2 个距离的值。而比较困难的问题是,在收集…...
深入探索 JavaScript 中的模块对象
引言 在现代 JavaScript 开发中,模块化编程是一项至关重要的技术。它允许开发者将代码拆分成多个独立的模块,每个模块专注于单一功能,从而提高代码的可维护性、可测试性和复用性。而模块对象则是模块化编程中的核心概念之一,它为…...
R1-Searcher:用强化学习解锁大语言模型检索新能力!
R1-Searcher:用强化学习解锁大语言模型检索新能力! 大语言模型(LLMs)发展迅猛,却常因依赖内部知识而在复杂问题上“栽跟头”。今天解读的论文提出R1-Searcher框架,通过强化学习提升LLMs检索能力。它表现超…...
LangChain框架-PromptTemplate 详解
摘要 本文聚焦于 LangChain 框架中PromptTemplate提示词模板模块的深度解析,主要参考langchain_core.prompts源码模块与官方文档。系统梳理 LangChain 对提示词模板的封装逻辑与设计思路,旨在帮助读者构建全面、深入的知识体系,为高效运用LangChain 框架的提示词模板开发应用…...
【Java ee 初阶】文件IO和操作(下)
书接上文 文本操作的方法 String[] list() 返回 File 对象代表的目录下的所有文件名 File[] listFiles() 返回 File 对象代表的目录下的所有文件,以 File 对象表示 此处是针对File对象打印得到的效果(调用了File的toString) boolean …...
Android7 Input(六)InputChannel
概述: 本文讲述Android Input输入框架中 InputChannel的功能。从前面的讲述,我们知道input系统服务最终将输入事件写入了InputChannel,而input属于system_server进程,App属于另外一个进程,当Input系统服务想要把事件传递给App进行…...
【Java ee初阶】初始网络
一、IP地址 概念 IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。 就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。 格式 IP…...
LabVIEW 2019 与 NI VISA 20.0 安装及报错处理
在使用 Windows 11 操作系统的电脑上,同时安装了 LabVIEW 2019 32 位和 64 位版本的软件。此前安装的 NI VISA 2024 Q1 版,该版本与 LabVIEW 2019 32 位和 64 位不兼容,之后重新安装了 NI VISA 20.0。从说明书来看,NI VISA 20.0 …...
http协议理解
文章目录 http协议理解基本概念HTTP版本演变版本编年史版本对比未来趋势 HTTP请求/响应结构请求报文响应报文HTTP方法分类对比方法选择原则必须遵守的约束 常见状态码HTTP头部字段HTTPSHTTPS 核心功能说明HTTPS 如何工作? HTTP特点补充知识点启用HTTP/2Nginx 中配置…...
typecho中的Widget设计文档
组成系统的最基本元素 什么是Widget Widget是组成Typecho的最基本元素,除了已经抽象出来的类库外,其它几乎所有的功能都会通过Widget来完成。在实践中我们发现,在博客这种小型但很灵活的系统中实施一些大型框架的思想是不合适的,…...
使用ESPHome烧录固件到ESP32-C3并接入HomeAssistant
文章目录 一、安装ESPHome二、配置ESP32-C3控制灯1.主配置文件esp32c3-luat.yaml2.基础通用配置base.yaml3.密码文件secret.yaml4.围栏灯four_light.yaml5.彩灯rgb_light.yaml6.左右柱灯left_right_light.yaml 三、安装固件四、HomeAssistant配置ESPHome1.直接访问2.配置ESPHom…...
基于STM32、HAL库的CH340N USB转UART收发器 驱动程序设计
一、简介: CH340N是南京沁恒电子生产的一款USB转串口芯片,具有以下特点: 支持USB 2.0全速(12Mbps) 内置时钟,无需外部晶振 支持5V和3.3V电源电压 提供常用的MODEM联络信号 内置上电复位电路 支持Windows/Linux/Mac OSX等多平台驱动 体积小,SOP-8封装 二、硬件接口: CH…...
Spring Boot Controller 如何处理HTTP请求体
Spring Boot (通过Spring MVC) 提供了强大的机制来处理不同 Content-Type 的HTTP请求体。这主要依赖于 HttpMessageConverter 接口的各种实现,它们能够自动将请求体内容转换成Java方法参数。 一、核心机制:HttpMessageConverter Spring MVC会根据…...
【deepseek教学应用】001:deepseek如何撰写教案并自动实现word排版
本文讲述利用deepseek如何撰写教案并自动实现word高效完美排版。 文章目录 一、访问deepseek官网二、输入教案关键词三、格式转换四、word进一步排版 一、访问deepseek官网 官网:https://www.deepseek.com/ 进入主页后,点击【开始对话】,如…...
【Spring Boot 多模块项目】@MapperScan失效、MapperScannerConfigurer 报错终极解决方案
在使用 Spring Boot 构建多模块项目,集成 MyBatis-Plus 时,很多开发者会遇到类似如下启动报错: Error creating bean with name mapperScannerConfigurer ... Caused by: java.lang.IllegalArgumentException: Property basePackage is requ…...
vue 中如何使用region?
vue 中如何使用region? 在 Vue 文件中,你可以使用 //#region 和 //#endregion 注释来创建可折叠的代码区块(类似于 C# 的 region)。这可以显著提高大型 Vue 组件的可读性。 1. 基本用法 在 <script> 部分使用 <script&…...
Spring Boot 启动原理的核心机制
一、核心启动流程概览 Spring Boot 的启动流程可概括为 7 个关键阶段: 1. 加载启动类 (Main Class) 2. 初始化 SpringApplication 实例 3. 加载配置 & 准备环境 (Environment) 4. 创建 ApplicationContext(容器) 5. 刷新容器&#…...
【每天学习一点点】使用Python的pathlib模块分割文件路径
使用Python的pathlib模块分割文件路径 pathlib模块(Python 3.4)提供了面向对象的文件系统路径操作方式,比传统的os.path更加直观和易用。以下是使用pathlib分割文件路径的几种方法: 基本路径分割 from pathlib import Path# 创…...
Qt/C++面试【速通笔记八】—Qt的事件处理机制
在Qt中,事件处理机制是应用程序与用户或系统交互的核心。通过事件处理,Qt能够响应用户的输入、窗口的变化、定时器的触发等各种情况。 1. 事件循环(Event Loop) 在Qt应用程序中,事件循环是事件处理机制的基础。事件循…...
uniapp自定义步骤条(可二开进行调试)
前言 有一个业务需求是需要一个步骤条,但是发现开源的都不太合适,所以就自己写了一个。 开始 test.vue <template><view class"authenticateRecordDetails_container"><!-- 进度 --><view class"authenticateSte…...
uniapp|实现多终端聊天对话组件、表情选择、消息发送
基于UniApp框架,实现跨平台多终端适配的聊天对话组件开发、表情选择交互设计及消息发送,支持文本与表情混合渲染。 目录 聊天界面静态组件实现消息列表布局消息气泡双向布局辅助元素定位与样式静态数据模拟与扩展性设计表情选择器静态模块浮层实现符号网格排列多端样式适配方…...
1.3.1 Linux音频框架alsa详细介绍
ALSA作为对旧OSS系统的替代方案,始于1998年。当时OSS还闭源商业化,因此社区开始开发开源的ALSA。经过多年的发展,ALSA成为Linux内核中音频架构的标准。 结构和架构 ALSA由以下几个主要部分组成: 内核模块: 这是ALSA的…...
R 语言机器学习:为遥感数据处理开启新视角
技术点目录 基础理论、机器学习与数据准备建模与空间预测实践案例与项目了解更多 ——————————————————————————————————————————— 前言综述 在当今科技快速发展的时代,遥感技术为生态学研究提供了海量的数据资源…...
深度 |提“智”向新,奔向未来——当前机器人产业观察
机器人踏着“猫步”在T台走秀、进入工厂协助造车,教育、医疗、城市管理等领域都有了机器人的帮助……今天,机器人已得到广泛应用,走进你我的生活。 伴随着技术日新月异,机器人产业加快提“智”向新。特别是今年以来…...