- 博客(44)
- 收藏
- 关注
原创 【SQL】MySQL中的字符串处理函数:concat 函数拼接字符串,COALESCE函数处理NULL字符串
内容搜索词(contentKeyword):如果提供了内容搜索词,将会检查文章的标题和内容是否包含该关键词的子串。用户搜索词(userKeyword):如果提供了用户搜索词,将会检查文章的作者用户名是否包含该关键词的子串。类别ID(categoryId):如果提供了类别ID,将会检查文章的类别ID是否匹配指定的ID。用户ID(userId):如果提供了用户ID,将会检查文章的作者用户ID是否匹配指定的ID。函数是一个非常实用的字符串函数,用于将两个或多个字符串参数连接成一个单一的字符串。
2025-12-01 10:09:54
933
原创 SQL Server 数据库迁移到 MySQL 的完整指南
将 SQL Server 数据库迁移到 MySQL 是一个复杂的过程,涉及多个步骤和注意事项。通过合理的规划和工具的使用,可以大大降低迁移的难度和风险。希望本文能够帮助你顺利完成数据库迁移,并在新的环境中获得更好的性能和成本效益。??如果你在迁移过程中遇到任何问题,欢迎在评论区留言,我会尽力为你解答。
2025-12-01 08:22:48
825
原创 Spring Boot性能提升的核武器,速度提升500%!
虚拟线程是 Java 21 引入的一个新特性,用于简化并发编程。它与传统的操作系统线程相比,具有显著的优势:轻量级:虚拟线程由 JVM 管理,而非操作系统,因此它们的内存占用和创建成本远低于传统线程。理论上,你可以轻松创建数十万甚至更多的虚拟线程。高并发性:虚拟线程能处理更高并发的场景,特别是 I/O 密集型的应用,适合开发高并发、响应式的应用程序。自动管理:无需手动管理线程池,JVM 会根据负载自动调整虚拟线程的调度,简化了并发编程的复杂性。
2025-12-01 04:50:15
735
原创 MySQL:数据查询-limit
LIMIT` 是 MySQL 中一个非常实用和强大的功能,能够帮助控制查询结果的行数,适用于各种场景,尤其是数据分页和结果集限制。对于大多数涉及大量数据的查询来说,合理地使用 `LIMIT` 可以显著改善性能。
2025-12-01 03:05:25
429
原创 Java进阶,时间与日期,包装类,正则表达式
正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。字符串对象提供了匹配正则表达式的方法public boolean matches([String](file:///D:/course/%E5%9F%BA%E7%A1%80%E9%98%B6%E6%AE%B5/API%E6%96%87%E6%A1%A3/docs/api/java.base/java/lang/String.html) regex): 判断是否匹配正则表达式,匹配返回true,不匹配返回false。
2025-12-01 01:18:58
685
原创 Spring详解
以上就是今天要讲的内容,本文仅仅简单介绍了使用set方法注入属性的使用,set方法是较为常用的方法,除了set方法还有构造法和工厂方法注入属性。
2025-11-30 18:28:50
305
原创 Spring boot创建时常用的依赖
1.springboot项目的总(父)依赖大全<parent></parent>当我们使用 spring 或 spring-boot 开发项目时,需要引入很多依赖,包括 spring 本身的组件、各种 spring-boot-starter、以及其它第三方依赖(如:slf4j、redis)。依赖多了,版本的选择是个问题,就怕哪个版本选择的不对导致出现一些意想不到的 BUG。spring-boot-dependencies的作用主要是起到约束版本的作用,在这个包里面声明了各种版本号,供子项目去引用。
2025-11-30 16:49:55
891
原创 MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
mysql 5.7.5版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的话,sql语句就会报错。这里说sql_mode不能设置NO_AUTO_CREATE_USER这个值,那直接去掉这个值就行了呗,也就是上面我提供的值。由于开启了ONLY_FULL_GROUP_BY的设置,如果select 的字段不在 group by 中,
2025-11-30 14:41:47
1182
原创 Java进阶:IO大全
抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。它定义了字节输出流的基本共性功能方法。类是OutputStream类的子类,用来表示是文件输出流,用于将数据写出到文件。抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中。它定义了字节输入流的基本共性功能方法。类是InputStream类的子类 , 用来表示文件输入流,从文件中读取字节。抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。类是读取字符文件的便利类。
2025-11-30 01:23:49
684
原创 【Spring Boot】统一数据返回
其实统一数据返回非常简单,在实现时要加入类注解@ControllerAdvice(这是一个表示控制通知的注解,在接下来的统一异常处理也要运用到),在添加类注解后还要在实现ResponseBodyAdvice接口,然后重写接口的responseAdvice接口和beforeBodyWriter方法即可实现。其实统一数据返回是运用了AOP(对某一类事情的集中处理)的思维,简单概括就是在我们进行前后端数据交互的时候,能够让后端的数据进行统一的打包封装,返回给前端,便于前后端的数据处理。
2025-11-29 21:53:22
760
原创 spring注入static属性
(@PreDestroy 注解定义容器销毁之前的所做的操作)这种方式和在xml中配置 init-method和 destory-method方法差不多,定义spring 容器在初始化bean 和容器销毁之前的所做的操作;通过MethodInvokingFactoryBean工厂Bean,可以将指定方法返回值注入成为目标Bean的属性值,MethodInvokingFactoryBean用来获得指定方法的返回值,该方法可以是静态方法 也可以是实例方法。工具类一般都是静态方法,静态方法只能访问静态属性。
2025-11-29 20:06:07
225
原创 Spring Boot3.x集成Flowable7.x(一)Spring Boot集成与设计、部署、发起、完成简单流程
Flowable 是一个轻量级、开源的业务流程管理(BPM)和工作流引擎,旨在帮助开发者和企业实现业务流程的自动化。它支持 BPMN 2.0 标准,适用于各种规模的企业和项目。Flowable 的核心功能包括流程定义、流程执行、任务管理、历史记录查询等,广泛应用于企业级应用中。官方流程设计器访问IP加启动容器的端口默认账户/密码:admin/test进入设计器创建流程并设计创建测试流程这里先简单画个流程 后期写个详细流程图的绘画确定后进入设计界面添加用活动后设置名称。
2025-11-29 18:22:08
472
原创 mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
当想在在(window+R输入cmd按Enter)命令提示符,打开MySQL运行时,出现‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件可能是没有配置mysql配置环境变量或者配置路径有错误。
2025-11-29 16:43:00
250
原创 Java进阶(五)常用API、Lambda、常见算法
从Java8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:LocalDate:不包含具体时间和日期。LocalTime:不包含日期的时间。LocalDateTime:包含了日期及时间。Instant:代表的是时间戳。DateTimeFormatter:用于做时间的格式化和解析。Duration:用于计算两个“时间”间隔。Period:用于计算两个“日期”间隔。新增的API严格区分了时刻、本地日期、本地时间,并且对日期和时间进行运算更加方便。
2025-11-29 15:05:02
1041
原创 启动springboot项目时报错Web server failed to start. Port 8080 was already in use
在Windows上,您可以使用命令提示符(cmd)来检查端口的使用情况。点击菜单栏 -> 右键 - > 任务管理器 -> 详细信息,根据PID排序找到PID为10728的进程,选择后点击结束任务。【1】关闭该进程的方法一:如果查找到了占用端口,可以通过PID,去任务管理器找到对应的进程,然后暴力地直接杀了这个进程。报错原因:这个错误表明端口1717已经被其他程序占用,导致我们的的Web服务器无法在这个端口上启动。找到对应的PID后,我们可以使用任务管理器来结束该进程,或者在CMD中使用。
2025-11-27 16:28:47
285
原创 【FFmpeg】H.264 格式分析 ② ( 网络抽象层单元 NALU NALU 功能结构 VCL 视频编码层 NAL 网络提取层 H.264 封装模式 - annexb 模式 )
NALU ( Network Abstract Layer Unit , 网络抽象层单元 ) 是 H.264 视频编码 中 用于 封装 编码后数据 的 基本传输单元 , 用于将 视频数据 以适合 网络传输的格式 组织起来;NALU 是 对 原始视频帧 进行编码后的数据单元 , 它们 包含了 视频数据 的 编码信息 , 如 图像帧的编码数据、控制信息 等;
2025-11-27 12:41:44
292
原创 RabbitMQ 客户端 连接、发送、接收处理消息
(3) 如果 RabbitMQ 服务收到消息,就转发给 注册接收消息接口的 连接,如果接收的连接标记了 AutoDelete,那么发送给客户端后,RabbitMQ 就会将消息从消息队列中删除。而 RabbitMQ 的消费消息(接收消息) 也仅仅是接收消息,它不管是谁发的消息,只要是发送的 RabbitMQ 服务的消息,它都能接收,注册接收消息,我的客户端就会收到 RabbitMQ 发送过来的消息,消息中包含发送上来的消息内容,还有发送消息的 queue 名字。
2025-11-26 20:23:29
253
原创 MySQL——表操作及查询
MySQL的操作中,一些专用的词无论是大写还是小写都是可以通过的。"[]"表示可有可无,插入时,如果不指定要插入的列,则表示默认全部列都要插入数据,插入数据的顺序必须和列的顺序一致。如果插入单行数据,则只需一个"()“,如果想要多行插入,则可以同时追加多个”()"。此外,由于主键或者唯一键对应的值已经存在而导致插入失败,则可以更新数据:除这条语句之外,还有一条语句,名为替换,也可以解决主键或唯一键冲突问题:如果没有发生冲突,就相当于直接插入,如果发生冲突,则删除原有数据,重新插入新数据。全列查询指定列查询查
2025-11-26 18:44:23
227
原创 DVWA靶场通关——SQL Injection篇
该PHP代码的主要功能是根据用户提供的id参数,从数据库中查询对应的用户信息(包括first_name和last_name),并将查询结果显示给用户。该PHP代码段的主要功能是根据用户输入的id从数据库中查询用户的first_name和last_name,并将结果显示给用户。_POST数组中获取,但在传递给SQL查询之前,使用mysqli_real_escape_string函数对其进行了转义处理,从而减少了SQL注入的风险。它不仅简化了数据库操作,还提供了安全的机制来防止SQL注入和其他潜在的安全问题。
2025-11-25 17:03:39
286
原创 在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器
通过以上步骤,你已成功在 Windows 环境中生成本地 SSL 证书,并配置 Nginx 以支持 HTTPS。使用 HTTPS 进行本地开发可以确保你的应用在实际部署时符合安全要求,并提供更好的用户体验。如果你遇到任何问题或有任何疑问,请在评论区留言讨论。
2025-11-25 12:45:55
805
原创 Java进阶,时间与日期,包装类,正则表达式
正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。字符串对象提供了匹配正则表达式的方法public boolean matches([String](file:///D:/course/%E5%9F%BA%E7%A1%80%E9%98%B6%E6%AE%B5/API%E6%96%87%E6%A1%A3/docs/api/java.base/java/lang/String.html) regex): 判断是否匹配正则表达式,匹配返回true,不匹配返回false。
2025-11-24 16:13:30
844
原创 MySQL配置my.ini文件
my.ini文件中存储了数据库的文件地址,数据库数据存储地址以及登录密码等基础信息。sc delete mysql(注意,这里的mysql是你的数据库服务名称,不知道怎么看的win+R后输入services.msc回车,就能在名称那一列找到你的mysql名称)显示成功后在管理(win+R回车后输入services.msc,回车)里看一下,如果数据库在管理中仍然存在,右键选择停止。数据库在管理中消失。我的mysql目录下不允许生成新文件,所以我在别的地方新建my.ini,编辑好后直接复制到存放的目录下。
2025-11-23 17:02:39
696
原创 Java进阶(五)常用API、Lambda、常见算法
从Java8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:LocalDate:不包含具体时间和日期。LocalTime:不包含日期的时间。LocalDateTime:包含了日期及时间。Instant:代表的是时间戳。DateTimeFormatter:用于做时间的格式化和解析。Duration:用于计算两个“时间”间隔。Period:用于计算两个“日期”间隔。新增的API严格区分了时刻、本地日期、本地时间,并且对日期和时间进行运算更加方便。
2025-11-23 15:09:00
641
原创 mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
当想在在(window+R输入cmd按Enter)命令提示符,打开MySQL运行时,出现‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件可能是没有配置mysql配置环境变量或者配置路径有错误。
2025-11-20 12:16:47
384
原创 Java进阶,时间与日期,包装类,正则表达式
正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。字符串对象提供了匹配正则表达式的方法public boolean matches([String](file:///D:/course/%E5%9F%BA%E7%A1%80%E9%98%B6%E6%AE%B5/API%E6%96%87%E6%A1%A3/docs/api/java.base/java/lang/String.html) regex): 判断是否匹配正则表达式,匹配返回true,不匹配返回false。
2025-11-20 10:32:30
1029
原创 分布式多卡训练(DDP)踩坑
多卡训练最近在跑yolov10版本的RT-DETR,用来进行目标检测。多卡训练语句:需要通过torch..launch来启动,一般是单节点,其中CUDA_VISIBLE_DEVICES设置用的显卡编号,也可以不用,直接在main.py里面指定device也行,–nproc_pre_node 每个节点的显卡数量。但是运行多卡训练之后,会报错,有的时候训练进程会卡住。错误信息如下,发生了runtimerror看不懂的话,用翻译软件翻译一下运行时错误:预计在开始新迭代之前已完成前一次迭代的减少。
2025-11-19 14:37:28
602
原创 Windows安装Rust环境(详细教程)
MSVCRT是Microsoft Visual C++编译器的旧版运行时库,用于支持在Windows系统上使用Visual C++编译的程序。(4) 上图的1选项要求必须安装C/C++的编译环境,默认是 visual studio安装器,而此次使用mingw64,因此需要手动修改为。Rust默认使用的C语言依赖Visual Studio,但该工具占用空间大安装也较为麻烦,可以选用轻便的mingw64包。UCRT是一个通用的C运行时库,用于支持使用C语言编译的程序,而不仅仅是限于Visual C++编译器。
2025-11-19 12:48:19
983
原创 windows同时安装两个不同版本的Mysql
本文主要记载,本机已安装了一个MySQL 5.7.38,现考虑再安装一个mysql 8.0版本,记录一下过程方便以后回顾。最后我们实现了可以在Navicat操作MySql。若出现无法启动,建议删除原来版本数据库,然后重新下载8.0,然后下载5.7版本mysql5.7.35下载教程压缩包版mysql怎么卸载。
2025-11-18 16:58:12
254
原创 springboot与springcloud对应版本
2.0.X.RELEASE 2.0.4.RELEASE(停止维护,建议升级) Spring Cloud Finchley。1.5.X.RELEASE 1.5.1.RELEASE(停止维护,建议升级) Spring Cloud Edgware。Spring Boot 与 Spring Cloud Alibaba 版本对应关系。
2025-11-18 15:05:46
307
原创 基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)
创建csrf包,csrf包下创建Security安全配置类WebSecurityConfig,该类定义了Security的安全控制。(1)在dao包的UserDao接口中,添加用户登录的方法(2)在resources下的mapper包中的UserMapper.xml文件中配置用户登录访问接口</select></mapper>(3)在controller包中的UserController类中添加登录接口(1)在dao包的UserDao接口中,添加用户注册的方法。
2025-11-17 12:53:44
550
原创 【MySQL 的 ONLY_FULL_GROUP_BY 模式】
是 MySQL 中的一个 SQL 模式,它要求在任何包含聚合函数的查询中,所有在SELECT子句中出现的非聚合列也必须在GROUP BY子句中出现。换句话说,如果一个查询使用了聚合函数,那么除了聚合函数包裹的列以外,所有在SELECT子句中出现的列都必须被GROUP BY子句引用。这个规则确保了查询结果的确定性和一致性,避免了由于 SQL 语句的模糊性而导致的潜在错误。虽然禁用可能会方便一些查询的编写,但从长远来看,遵循这个规则对于保持数据查询的准确性和一致性至关重要。
2025-11-17 11:12:59
301
原创 【MySQL】CAST()在MySQL中的用法以及其他常用的数据类型转换函数
这在处理不同类型的数据时非常有用,比如将字符串转换为数字,或者将浮点数转换为整数等。函数在数据处理和转换中非常有用,尤其是在数据导入和报告生成时,可以确保数据类型的正确性和一致性。可以用于将字符串转换为日期时间,或者在转换时指定不同的字符集。: 返回参数的符号,-1 表示负数,0 表示零,1 表示正数。这些函数可以在不同的场景下使用,以实现数据类型的转换和处理。类似,但语法略有不同,并且可以用于转换为不同的数据类型。指定了小数点前的位数为 10,小数点后的位数为 2。: 将整数转换为二进制字符串。
2025-11-16 15:36:05
288
原创 springboot3整合SpringSecurity实现登录校验与权限认证(万字超详细讲解)
用户提交登录请求Spring Security 将请求交给 UsernamePasswordAuthenticationFilter 过滤器处理。UsernamePasswordAuthenticationFilter 获取请求中的用户名和密码,并生成一个 AuthenticationToken 对象,将其交给 AuthenticationManager 进行认证。
2025-11-16 13:42:14
1048
原创 SQL进阶——JOIN操作详解
如果某个表中的行在另一个表中没有匹配的行,那么这些行将不会出现在查询结果中。在实际开发中,我们经常需要执行更复杂的查询,例如多表连接查询和子查询。与普通的子查询不同,关联子查询是指在子查询中使用主查询中的列作为条件。在每一行中,子查询都会使用不同的主查询行数据。子查询的结果通常用于限制主查询的结果集,或者作为表的输入。查询所有的员工和部门信息,不论员工是否有部门,或者部门是否有员工。有多种类型,不同的连接方式根据连接条件的不同展现出不同的结果。表的连接中,我们查询所有部门信息,即使某些部门没有员工。
2025-11-15 15:14:50
854
原创 若依部署Nginx和Tomcat
问题出现在,若依采用的vue中的单页面,页面的变换是根据路由(routes)来变换的,在点击刷新时走的tomcat的目录路径,所以404。在项目中添加WEB-INF文件夹,并在WEB-INF文件下创建web.xml。可以清楚看到验证码获取不到,说明前后端无法通信。以为前端访问的是prod-api这个请求路径。可以直接打成jar包,双击或者命令运行。可以看到已经 可以访问 若依的页面了。将静态文件拉到webapps下面。或者去Maven本地仓库。
2025-11-15 01:36:33
307
原创 【Spring Boot】Spring Boot解决循环依赖
环依赖是指两个或者多个bean互相依赖对方,从而形成一个闭环。例如:Bean A依赖于Bean B,而Bean B又依赖于Bean A。可能会导致Spring在尝试创建这些bean实例时出现问题,因为他们互相等待对方被创建,最终导致应用程序无法启动。Spring是如何发现这种循环依赖的问题的呢?通过依赖图来检测和发现循环依赖问题。
2025-11-14 17:35:28
780
原创 SpringBoot项目中替换指定版本的tomcat
通过以上步骤,可以成功替换Spring Boot项目中的Tomcat版本。需要注意的是,切换Tomcat版本可能会影响应用的兼容性和性能,因此在实际操作前需要进行充分的测试和评估。在`pom.xml`文件中,找到Spring Boot的依赖项,并添加或修改Tomcat的版本属性。在Spring Boot项目中替换指定版本的Tomcat,可以通过修改项目的`pom.xml`文件来实现。切换Tomcat版本可能会影响应用的兼容性和性能,因此在实际操作前需要进行充分的测试和评估。
2025-11-14 15:33:35
358
原创 springboot项目架构
在 Spring Boot 出现之前,使用 Spring 框架开发应用程序时,开发人员需要花费大量时间进行复杂的配置,包括配置各种 XML 文件或者 Java 配置类来整合 Spring 的各个模块,如 Spring MVC、Spring Data 等。Spring Boot 的目标就是简化这一过程,减少配置的复杂性,让开发者能够快速启动项目并专注于业务逻辑的实现。本文围绕 Spring Boot 展开。
2025-11-13 17:43:16
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅