- 博客(66)
- 收藏
- 关注
原创 Springboot中CommandLineRunner的用法以及执行顺序的控制
在 Spring Boot 应用程序中,所有实现了 `CommandLineRunner` 接口的 `@Component` 类的 `run` 方法并不是严格保证顺序串行执行的。在这个示例中,通过 `@Order` 注解设置了 `FirstRunner` 和 `SecondRunner` 的执行顺序,`FirstRunner` 的 `run` 方法会在 `SecondRunner` 的 `run` 方法之前执行。这使得开发人员能够方便地在应用程序启动后执行一些必要的操作。// 在应用程序启动后执行的逻辑。
2026-05-03 21:15:39
153
原创 MySQL-mysql zip安装包配置教程
网上的教程有很多,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。安装环境:win11。
2026-05-03 16:40:41
410
原创 java学习进阶之路,如果从一个菜鸟进阶成大神
诞生不过二十余年的Java语言凭借其跨平台、面向对象、适合于分布式计算的特性,广泛应用于Web网站、移动设备、桌面应用中,并且已经连续多年稳居TOBIE编程语言排行榜前列,最近更是登上冠军宝座。File及相关类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应缓冲流和管道流,字节和字符的转化流,包装流,以及常用包装类使用。图的深度优先搜索、图的广度优先搜索、拓扑排序、Dijkstra算法(单源最短路径)、霍夫曼编码、辗转相除法、最小生成树等。
2026-05-03 15:08:36
285
原创 MySQL-递归查询
举一反三,则查询id为12的所有父节点信息的就是从下至上的递归查询,SQL如下所示。这里其实还有另一种利用mybatis的collection子查询的写法,一笔带过。我们先来看看从上至下的递归查询的SQL语句,查询id为1的节点的所有子节点。这里的classpath指的是当前节点的路径,后续说明其作用。查询分类id为12的所有父级分类信息。1、查询指定id的分类节点的所有。2、查询指定id的分类节点的所有。查询id为12的父级分类信息。查询分类id为6的分类信息。查询id为6的分类信息。
2026-05-02 21:43:37
226
原创 Cmd命令大全(万字详细版)
将原本输出到命令窗口的内容,转存到文件中,如jstack 12912 >d:/s.txt 打印线程到指定文件。-N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;–ip或–inet:此参数的效果和指定"-A inet"参数相同。-x或–unix:此参数的效果和指定"-A unix"参数相同;-l或–listening:显示监控中的服务器的Socket;-n或–numeric:直接使用ip地址,而不通过域名服务器;
2026-05-02 19:16:44
295
原创 mysql如何发现慢查询sql
long_query_time = 2 # 设置慢查询时间阈值,单位为秒,这里表示查询时间超过 2 秒的被记录为慢查询。通过以上方法,可以及时发现 MySQL 中的慢查询 SQL,以便进行优化和改进,提高数据库的性能。二、使用 SHOW PROCESSLIST 命令。四、分析数据库的性能指标。三、使用性能监控工具。
2026-05-01 19:42:58
22
原创 MySQL 数据类型详解:TINYINT、INT 和 BIGINT
MySQL 提供了多种整数类型来满足不同的数据存储需求。TINYINT适用于存储小范围整数,INT适用于大多数常见场景,BIGINT适用于存储非常大范围的整数。选择合适的数据类型可以提高系统的存储效率和性能。在设计数据库时,了解这些类型的区别和适用场景可以帮助你做出更明智的决策。
2026-05-01 18:53:40
300
原创 Linux下安装Nginx服务及systemctl方式管理nginx详情
将下载好的nginx压缩包上传至刚才所建的目录中/usr/local/nginx(我习惯用CRT这个工具,大家可以根据自己的喜好)------[也可以在此目录下直接下载使用(确保安装了wget 没有安装可以 yum install -y wget 下载一个)在linux中进入上传nginx的文件夹/usr/local/nginx并解压。命令将编译完成的程序和相关文件复制到系统的适当位置,使其可以被系统和用户访问。),更具自己想要的版本下载相应的tar.gz包。下载完成后解压就可以了]------
2026-05-01 18:02:50
382
原创 JavaEE要想学得好,【Java spring】少不了,稳扎稳打学JavaEE
spring 的初识: 认识spring 是一种功能强大, 开发人员用起来很轻松, 开发效率高效的面向企业的应用程序框架。如何学好spring : 学好spring 的关键就在于: 如何使用Maven建立spring项目, 并且学会利用注解依赖注入数据调用等… 来操作spring的特定的框架来进行 web 开发。spring 项目的学习工具: 学习spring主要是围绕着http请求来的, 搭配postman能够方便的建立http请求的相关配置,达到更高效的开发。如果觉得小编写的还不错的咱可支持三连。
2026-05-01 17:13:45
362
原创 Cmd命令大全(万字详细版)
将原本输出到命令窗口的内容,转存到文件中,如jstack 12912 >d:/s.txt 打印线程到指定文件。-N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;-A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;–ip或–inet:此参数的效果和指定"-A inet"参数相同。-x或–unix:此参数的效果和指定"-A unix"参数相同;-l或–listening:显示监控中的服务器的Socket;-n或–numeric:直接使用ip地址,而不通过域名服务器;
2026-05-01 15:31:45
358
原创 如何使用固定公网地址访问多个本地Nginx服务搭建的网站
访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。接下来,我们通过强大的且稳定的内网穿透工具cpolar,将本地nginx服务暴露至公网环境,以实现穿透多个站点端口需求,无需公网IP,也不用设置路由器。提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为保留成功的二级子域名,将其复制下来。来访问两个站点,测试访问成功,现在该公网地址不会随机变化了。
2026-04-22 12:55:02
301
原创 全网最详细的 Node.js 卸载和安装教程
通过本教程,您可以快速掌握如何卸载和安装 Node.js。在安装完 Node.js 后,也可以配置常用的cnpmyarn等工具,以便更快地管理依赖包。在 Windows、macOS、Linux 等不同系统上的安装流程大同小异,使用 NVM 可以让你方便地管理 Node.js 的多个版本。
2026-04-22 12:02:27
300
原创 MySQL-触发器(TRIGGER)
例如,对于一张数据表,不能同时有两个 BEFORE UPDATE 触发器,但可以有一个 BEFORE UPDATE 触发器和一个 BEFORE INSERT 触发器,或一个 BEFORE UPDATE 触发器和一个 AFTER UPDATE 触发器。BEFORE 和 AFTER,触发器被触发的时刻,表示触发器是在激活它的语句之前或之后触发。现在触发器还只支持行级触发,不支持语句级触发。注意:当触发器设计对触发表自身的更新操作时,只能使用 BEFORE 类型的触发器,AFTER 类型的触发器将不被允许。
2026-04-22 03:30:13
178
原创 clickhouse-介绍、安装、数据类型、sql
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。
2026-04-22 00:34:18
374
原创 SQL 注入漏洞原理以及修复方法
具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。注:把magic_quotes_gpc选项打开,在这种情况下所有的客户端GET和POST的数据都会自动进行addslashes处理,所以此时对字符串值的SQL注入是不可行的,但要防止对数字值的SQL注入,如用intval()等函数进行处理。使用参数化SQL语句,同时也能提高查询的效率。
2026-04-21 10:58:39
326
原创 springboot 文件下载
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。当然,在出现错误时,我在想是不是application/octet-stream的问题,也使用过multipart/form-data,但也是一样的结果。在springboot中,执行如下代码实现文件下载。找了很久的解决方法,但是没有发现什么正确的答案。
2026-04-21 08:36:30
161
原创 redis-manger管理平台
Redis Manager 是 Redis 一站式管理平台,支持集群(cluster、master-replica、sentinel)的监控、安装(除sentinel)、管理、告警以及基本的数据操作功能。
2026-04-21 06:19:24
192
原创 MySQL数据库报错:ERROR 2002 (HY000) Can‘t connect to local MySQL server through socket
在安装或配置MySQL数据库时,是一个常见的错误,这可能会阻碍数据库的正常使用。本文将深入探讨这个错误的原因、诊断方法以及详细的解决步骤,帮助你快速恢复MySQL数据库的正常运行。
2026-04-21 04:00:47
240
原创 Java进阶教程(一)关键字
具体在Window->Preferences->Java->Installed JREs,选择相关版本,点击edit,在Default VM arguments里面输入-ea。expression1表示一个boolean表达式,expression2表示一个基本类型、表达式或者是一个Object,用于在失败时输出错误信息。synchronized:当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。instanceof:在运行时指出对象是否是特定类的一个实例。
2026-04-21 01:44:59
156
原创 【MyBatis】spring整合mybatis教程(详细易懂)
我们的实体类创建属性的时候我写get、set等方法,过于麻烦,但是我们有一个lombok,可以节约掉这些。在切面类PagerAspect里面编写方法,该有的注释也在里面,我这里就不一一的解释了。这里是自己本地路径的MySQL的jar包,是需要更改的,路径赋值后也需要再加上。把我们的生成的BookMapper里面的方法复制到我们新建的BookBiz里面。我们在生成的实体类上面添加**@Repository**,回顾之前我们用的是插件,或者插件和自己写的分页类。还是运行上面一样的测试类的方法。
2026-04-19 20:10:22
166
原创 SpringCloud-持久层框架MyBatis Plus的使用与原理详解
MyBatis 是一个优秀的 ORM 框架,它通过 XML 或注解的方式将 Java 方法与 SQL 语句进行映射,并且可以灵活地控制 SQL 执行的各个细节,提供极高的自由度。它广泛应用于项目中,尤其是在对 SQL 语句要求比较严格的场景中。MyBatis Plus 是在 MyBatis 的基础上进行增强的持久层框架,专注于简化 MyBatis 的开发工作。它封装了常用的 CRUD 操作,极大地减少了开发者编写 SQL 的工作量。其目标是“更少的配置,更多的功能”,通过插件机制提供更强大的功能扩展。
2026-04-19 17:22:11
201
原创 Spring Boot(七):Swagger 接口文档
Swagger 是一款 RESTful 风格的接口文档在线自动生成 + 功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。目标是使客户端和文件系统作为服务器以同样的速度(同步)更新文件的方法,参数和模型紧密集成到服务器。这个解释简单点来讲就是说,Swagger 是一款可以根据 resutful 风格生成的接口开发文档,API 文档与 API 同步更新,并且支持做测试的一款中间软件。
2026-04-19 14:42:52
244
原创 oracle 加字段和字段注释 sql
在 Oracle 数据库中,你可以使用语句来添加字段,并使用语句来添加字段注释。以下是一个示例:假设你有一个名为employees的表,你想要添加一个名为email的字段,并为其添加注释。
2026-04-19 11:53:30
216
原创 MySQL--》理解锁机制中的并发控制与优化策略
锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中除了传统的计算机资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源,如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素,从这个角度来说锁对数据库而已尤为重要也更加复杂。按照锁的粒度细分,对于MySQL中的锁主要分为以下三类:1)全局锁:锁定数据库中的所有表2)表级锁:每次操作锁住整张表3)行级锁:每次操作锁住对应的行数据。
2026-04-19 03:23:54
216
原创 彻底解决 `ModuleNotFoundError No module named ‘MySQLdb‘` 这个错误
提示:确认你不是在尝试安装 `MySQLdb`,这个库只兼容 Python 2。-对于 Python 3,选择 `mysqlclient` 或 `PyMySQL` 作为替代。它们都是与 `MySQLdb` 类似,但兼容 Python 3 的库。这样可以在未修改大量现有代码的情况下,确保它们可以使用 `PyMySQL` 作为 `MySQLdb` 的替代。python项目启动时报错,但是mysql相关的驱动都已经安装,mysqlclient、pymysql等。
2026-04-18 06:43:59
236
原创 【异常解决】Unable to start embedded Tomcat Nacos 启动报错
Windows 本地启动 Nacos(2.2.0) 服务,控制台报错 Unable to start embedded Tomcat。进入到nacos安装目录下的bin文件夹下,输入 startup.cmd -m standalone 回车即可。即可访问控制台 http://localhost:8848/nacos/index.html。原因一:启动方式不对,直接双击打开或者是通过命令行启动(startup.cmd)默认是集群模式。Nacos 配置的默认端口号是 8848,请检查这个端口是否被占用。
2026-04-18 04:20:31
177
原创 Vanna AI:告别代码,用自然语言轻松查询数据库,领先的RAG2SQL技术让结果更智能、更精准!
Vanna,是一款革命性的AI SQL智能体,可以将复杂的SQL查询简化为日常语义对话。在生成式AI的助力下,Vanna 让数据库查询变得前所未有的简单和直观。它是基于 OpenAI 和 Google 提供的大语言模型(LLM)。Vanna 通过预训练模型,结合你的数据库进行微调,可以快速帮你量身打造一个定制化的AI助手。Vanna 是一个获得 MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。GitHub 已经高达7200 颗星??
2026-04-18 01:57:00
234
原创 RabbitMQ之交换机
在讲交换机之前我们需要了解一些概念,在RabbitMQ工作流程有一项叫Exchange(交换机:消息的分发中心****),它的作用是将生产者发送的消息转发到具体的队列,队列再将消息以推送或者拉取方式给消费者进行消费。**原:**在RabbitMQ中生产者发送的信息不会直接投递到队列中,而是先将消息投递到交换机中,在由交换机路由到一个或多个队列中。流程:生产者 --(路由键)—> 交换机 --(绑定键)—> 队列 --(pull,push)—>消费者。
2026-04-04 04:24:56
377
原创 MySQL 教程(超详细,零基础可学、第一篇)
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 是开源的,目前隶属于 Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL 使用标准的 SQL 数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。
2026-04-04 01:24:39
314
原创 SQL 基础 BETWEEN 的常见用法
操作符是SQL中非常有用的工具,它允许你快速选取某个范围内的值。这个查询不会返回任何行,因为没有任何列的值可以位于一个以。操作符是包含性的,这意味着它包括指定的边界值。是一个操作符,用于选取介于两个值之间的数据。这个查询将选取姓以A、B或C开头的所有客户。这将选取乘积在50到200之间的销售记录。子句中,以便选取某个范围内的值。条件,使查询更加简洁。这将返回1月份的所有订单。它包含这两个边界值。
2026-04-02 09:39:18
167
原创 MySQL:数据查询-limit
LIMIT` 是 MySQL 中一个非常实用和强大的功能,能够帮助控制查询结果的行数,适用于各种场景,尤其是数据分页和结果集限制。对于大多数涉及大量数据的查询来说,合理地使用 `LIMIT` 可以显著改善性能。
2026-04-02 03:07:41
190
原创 【mysql】导出导入mysql表结构或者数据
使用 mysqldump 工具可以方便地导出 MySQL 数据库中的表数据。mysqldump 是一个命令行工具,通常随 MySQL 服务器一起安装。以下是如何使用 mysqldump 导出表数据的步骤和示例。
2026-04-01 03:16:58
217
原创 springboot整合mybatis-plus(保姆教学) 及搭建项目
一、Spring整合MyBatis。测试一下看看项目是否能运行起来。二:整合mybatis步骤。
2026-04-01 00:09:33
204
原创 RabbitMQ 客户端 连接、发送、接收处理消息
(3) 如果 RabbitMQ 服务收到消息,就转发给 注册接收消息接口的 连接,如果接收的连接标记了 AutoDelete,那么发送给客户端后,RabbitMQ 就会将消息从消息队列中删除。而 RabbitMQ 的消费消息(接收消息) 也仅仅是接收消息,它不管是谁发的消息,只要是发送的 RabbitMQ 服务的消息,它都能接收,注册接收消息,我的客户端就会收到 RabbitMQ 发送过来的消息,消息中包含发送上来的消息内容,还有发送消息的 queue 名字。
2026-03-31 03:22:49
405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅