自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 Spring Boot 整合 log4j2 日志配置教程

在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。

2026-04-04 05:31:43 294

原创 MySQL数据误删或者误更新如何恢复(详细步骤,一看就会)

这次是更新 那就先找 Update_rows ,找到后 往上找 INFO列的 BEGIN,再往上一行, SET @@SESSION.GTID_NEXT 设置全局事务ID的这行就是这次更新事务的始位置。我们可以在最后几行中找到 删除相关的语句,并记录下事务开始设置时的位置 (Pos列的数字),和事务提交时的位置(End_log_pos列的数字)。如果报了下面的错就要好好检查下 --start-position 和 -stop-position 的数值 取的对不对了。所以我们要查看最后几十行就行。

2026-04-04 02:32:02 244

原创 Springboot3整合myBatisplus报错:Bean named ‘ddlApplicationRunner‘ is expected to be of type ‘org.sprin

是不是看起来非常正确!没感觉有什么问题,有很多博客说要加上@MapperScan(“com.example.demo1.mapper”)之类的,但是我是加上了,还是有错误。坑就在于springboot3.1.7需要更高版本的myBatisPlus!把myBatisplus的版本升级到3.5.5,就可以了!(3)service层:JOJOService.java。(4)mapper层:JOJOMapper.java。明明我的代码刚开始写,就起了一个头,竟然报错了!(5)数据库实体类:jojo.java。

2026-04-02 07:34:37 30

原创 PHP使用Redis实战实录2:Redis扩展方法和PHP连接Redis的多种方案

PHP使用Redis实战实录系列。

2026-04-02 04:18:12 319

原创 mybatisPlus打印sql配置

MyBatis-Plus 使用了 MyBatis 的日志框架,因此可以通过配置 MyBatis 的日志实现方式来控制日志的输出。可以通过配置 application.properties 或 application.yml 文件来启用 MyBatis-Plus 的 SQL 打印功能。如果希望在代码中配置 SQL 打印,而不是依赖于配置文件,可以通过在 MyBatis 配置中显式设置日志工厂。如果使用的是 SLF4J,则可以通过配置 logback.xml 来控制 SQL 的输出。

2026-04-02 01:01:06 40

原创 IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤

## 启动 Auth、Manager、Data、Gateway 服务 [进入原网页#](https://doc.dc3.site/docs/code/3-idea-start.html#%E5%90%AF%E5%8A%A8-auth%E3%80%81manager%E3%80%81data%E3%80%81gateway-%E6%9C%8D%E5%8A%A1)[输入图片说明](/imgs/2023-08-23/RwCzXsbq9cGTMIjv.png)

2026-04-01 23:10:54 287

原创 最完整版Linux安装Redis(保姆教程)

如何在linux上安装redis,本文将通过yum源和压缩包两种形式安装redis,总有一种你喜欢且不会出Bug的途径!!!

2026-04-01 19:46:06 345

原创 华为网络设备配置文件备份与恢复(上传、下载、导出,导入)

在日常运维工作中,会经常存在网络割接的情况,为了保证网络割接失败时能重新回退至原有配置,从而不影响原有的办公环境,在网络割接前的备份工作就非常有必要了。通过将网络设备设置为FTP服务器,然后用PC端和其连接,从而将配置文件进行下载上传。步骤四:重启设备,第一个选项选择N,第二个选项选择Y。备份技术:PC客户端<—>FTP服务器(网络设备)在路由器或交换机的aaa认证上配置FTP服务。

2026-04-01 05:43:21 27

原创 [golang][MAC]Go环境搭建+VsCode配置

工欲利其事,必先利其器”,VsCode开源(free),且安装方便,因此这里记录一下vscode go开发相关配置。请先自行前往vscode官方进行下载并安装。8、现在可以在之前配置gopath的路径下创建自己的项目,进行go语言学习及开发了。3、打开GOPATH所在的src目录,创建工程,即可开始go语言的。,完成对go环境变量的配置并生效(输入没有提示)2、打开压缩包,根据引导一路下一步安装。1、在插件中搜索go,点击。,按照如下配置选择,点击。有如下提示,即安装成功。,退出编辑模式,输入。

2026-04-01 02:38:08 192

原创 Springboot3 Mybatis-plus 3.5.9

{"age": 20, "intro": "佛系青年", "gender": "male"}@Data。

2026-03-31 05:56:52 218

原创 Node.js看我的就行了!!!

最近nodejs崩了好多次,所以我决定重装。由于没有卸载干净,折腾了我两天#终于,我今天下午装好了我们从卸载开始(没有安装的小伙伴直接到第二步)

2026-03-31 02:44:02 226

原创 Mysql convert函数、convert用法、字符串转数字、字符串转日期、类型转换函数

CAST() 和 CONVERT() 都可以更改 MySQL 中的数据类型。主要区别在于 CONVERT() 还可以将数据的字符集转换为另一个字符集。convert(expr,type)语法与 CAST(expr AS type)是等效的,所以支持的数据类型也是一致的,可以直接参考。将 value 转化为 NCHAR (类似 CHAR, 但生成一个具有国家字符集的字符串)将 value 转化为 SIGNED (有符号的 64 位整数)将 value 转化为 CHAR 类型 (固定长度的字符串)

2026-03-30 11:55:18 258

原创 java进阶知识思维导图

2026-03-30 11:08:54 11

原创 HeidiSQL导入与导出数据

HeidiSQL两种导入与导出数据的方法:整个库复制,和仅复制数据。

2026-03-30 10:22:18 223

原创 Redis 安装及配置教程(Windows)【安装】

Redis 是用 ANSI C 编写的,可以在大多数 POSIX 系统中使用,而无需外部依赖。Linux 和 OS X 是 Redis 开发和测试最多的两个操作系统,官方建议使用 Linux 进行部署,Windows版本没有官方支持。Redis 在 Windows 平台上不受官方支持,Redis 官方只提供了源码包(zip、tar.gz 格式)。当然想要在 Windows 上安装 Redis 也还是可行的。

2026-03-30 06:38:21 359

原创 MySQL 批量插入详解:快速提升大数据导入效率的实战方法

批量插入是提高 MySQL 数据插入性能的重要手段。通过使用批量插入技术,可以显著减少 SQL 执行次数,提高数据导入的效率。本文通过一个学生信息表的实战示例,详细介绍了批量插入的实现方法,并提供了性能优化的建议。希望这篇文章对您在处理大规模数据时有所帮助。如果有更复杂的数据处理需求,您还可以考虑使用 MySQL 的LOAD DATA语句或专门的 ETL 工具来进行数据导入操作。

2026-03-30 03:05:58 385

原创 【MySQL】MySQL复合查询--多表查询自连接子查询

查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)单行子查询是指子查询只返回单列,单行数据;查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J。这里使用分组查询即可,先查出最高的工资,然后查询工资等于最高工资的员工的姓名和工作岗位。显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号。的,而多列子查询则是指查询返回多个列数据的子查询语句。

2026-03-28 12:36:48 187

原创 SpringBoot3 整合 Mybatis 完整版

成功,至此,已经完成了 SpringBoot3 整合 Mybatis 的步骤。在 application.yaml 文件中添加mybatis的相关配置。当不指定 依赖版本的时候,会 由 springboot 自动管理。在 application.yaml 文件中添加数据源的信息。第三方的依赖库,需要明确的指定版本号。推荐使用最新的即可。结合表结构,创建普通的一个bean类。包含了普通属性,标准的下划线属性。, 指定要扫描的 mapper 接口的包路径。先写上吧,没有副作用。在 项目的 启动类上添加注解。

2026-03-28 08:27:52 181

原创 Nginx作用以及应用场景

高性能和低资源占用:Nginx 的事件驱动架构使其在处理高并发请求时表现出色,并且相对于传统服务器(如 Apache),Nginx 对内存和 CPU 的需求更低。稳定性和可靠性:Nginx 在处理长连接和高并发环境下表现出色,几乎不会出现宕机或崩溃。丰富的功能集:Nginx 提供了反向代理、负载均衡、缓存、SSL 加密等多种功能,可以满足不同场景下的需求。易于扩展和配置:Nginx 的模块化设计和灵活的配置方式,使其可以根据具体需求进行扩展和调整。社区支持和生态系统。

2026-03-27 13:26:56 311

原创 Java学习进阶知识篇

Java面向对象编程的进阶知识在面向对象的世界里,世界万物即对象。对象分为两种一是静态对象(即属性),二是动态对象(方法、行为),比如一只鸟,静态对象就是指鸟的翅膀、重量、羽毛颜色等等,动态对象就是指鸟的飞行、走路、觅食、叫声等等类是一类事物的一个统称,对象是类实例化之后的一类,而整个类就是所有对象的统称、人类可以实例化出一个男人、女人;鸟类可以实例化出一个大雁、燕子、信鸽;图形类可以实例化出三角形、平行四边形、五角形。一个类抽象出来一个实体,然后通过这个实体来解决实际的问题。封装。

2026-03-27 09:21:36 232

原创 SpringBoot项目中读取resource目录下的文件(六种方法)

查找资源,所以如果不加“/”表示去根路径查找的话,是找不到的。源码里还是方法三、方法四,只不过做了一些封装,更方便开发。的getResource()是从。的getResource()是。查找的,所以不加“/”也可以。2)启动jar包指令。

2026-03-26 13:53:57 249

原创 SpringBoot3.3.0集成Knife4j4.5.0实战

在类中已经完美解决了全局自定义错误码,因此在单个接口中已不建议再写,除非有特殊要求。以下接口类中自定义错误码仅为示例。·········/*** 系统公共类*/@Tag(name = "1-系统公共类", description = "系统公共类")@Autowired。

2026-03-26 12:59:56 310

原创 Spring Cloud Alibaba 组件版本选择

如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。下表为按时间顺序发布的 Spring Cloud Alibaba 以及对应的适配 Spring Cloud 和 Spring Boot 版本关系(由于 Spring Cloud 版本命名有调整,所以对应的 Spring Cloud Alibaba 版本号也做了对应变化)如果需要使用 Spring Cloud Greenwich 版本,请在 dependencyManagement 中添加如下内容。2.0.4.RELEASE(停止维护,建议升级)

2026-03-26 12:04:46 380

原创 Nginx环境安装

双击nginx目录下的nginx.exe应用程序,一般情况下,会有一个黑色的弹窗一闪而过,这就代表启动成功了。直接输入 nginx 或者 start nginx,然后回车,就可以启动nginx了。Nginx的配置文件是在conf目录下的nginx.conf文件。Nginx默认端口是80,可通过配置文件查看,(最好修改一下)#1查看Nginx安装路径whereis nginx。在nginx安装目录的绝对路径的框框内输入 cmd。关闭nginx的命令:nginx -s stop。# 启动Nginx服务。

2026-03-26 04:40:42 202

原创 Java进阶文件输入输出实操(图片拷贝)

把某个目录下的全部图片,全部拷贝到另外一个目录。

2026-03-26 01:34:42 14

原创 SpringBoot最佳实践之 - 使用AOP记录操作日志

本篇博客是个人在工作中遇到的需求。针对此需求,开发了具体的实现代码。并不是普适的记录操作日志的方式。以阅读本篇博客的朋友,可以参考此篇博客中记录日志的方式,可能会对你有些许帮助和启发。

2026-03-25 23:21:50 162

原创 Springboot 3项目整合Knife4j接口文档(接口分组详细教程)

springboot 3开始javax包改成了jakarta,而swagger-oas等包中依然使用的是javax,所以报错。另外springfox已经停止更新有段时间了,并且不支持OpenAPI 3标准,升级Springboot 3.0以后会有更多问题暴露出来。而SpringBoot 3只支持OpenAPI 3规范,因此Spring官网推荐了Springdocspringfox 3.0.0: 同时兼容OpenAPI 2以及OpenAPI 3,但是停更很久了。

2026-03-25 22:37:18 360

原创 Redis集群模式

redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。准备: 一主二从-----3台----开三个虚拟机–为了节省虚拟机,在一台主机开启三个redis服务。

2026-03-25 16:11:59 361

原创 ORM框架详解:为什么不直接写SQL?

ORM是"Object-Relational Mapping"的缩写,中文通常翻译为"对象关系映射"。这个术语听起来可能有点抽象,让我们通过一个简单的比喻来理解它:想象你是一位翻译官,你的工作是在两种完全不同的语言之间进行翻译。在编程世界中,ORM就像这样一位翻译官,它在面向对象的编程语言(如Java、Python、C#等)和关系型数据库(如MySQL、PostgreSQL、Oracle等)之间进行"翻译"。使用面向对象的方式来操作数据库将数据库表映射到编程语言中的类。

2026-03-25 14:57:54 371

原创 《计算机网络》(B)复习

解: UDP总长度为:8000+8=8008B,MTU=1500B,IP头部=20B,数据部分为:1500 20=1480B(1)按上述过程进行分片,8008=1480*5+608,能分为6个分片;(2)最后一个分片长度为:608+20=628B,片偏移量分别为:0,185(1480/8),370, 555,740,925。

2026-03-24 14:07:18 309

原创 Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)

使用MockMvc可以做到controller层的测试。在初始化mockMvc的时候:(1)如果想测试单个controller(2)如果想测试所有controller。

2026-03-24 02:58:56 197

原创 SpringBoot+Mybatis-plus实现分页查询(一看就会)

首先我们需要引入分页插件配置,然后创建DTO和VO,DTO包含我们需要的进行查询的字段,继承PageDto,VO是返回信息的对象,这样做不会影响我们创建的实体类。接下来就是service接口和serviceImpl实现类的创建,在实现类里面编写我们分页的逻辑然后三部分结构,引入Page实例、查询语句编写、page方法进行查询并复制给VO对象用于返回信息。

2026-03-23 17:02:24 306

原创 Spring 中的 @ExceptionHandler 注解详解与应用

通过使用注解,你可以轻松地管理 Spring 应用中的异常处理逻辑。这不仅有助于提高代码的可读性和维护性,还能提供更好的用户体验。希望通过本文,你能掌握的使用方法,并将其应用到你的项目中。这篇博客文章详细介绍了注解的用法,并结合示例展示了其在实际开发中的应用场景。通过掌握这些技巧,你可以在开发过程中更加从容地处理各种异常情况。

2026-03-23 16:30:18 271

原创 Spring Boot实现定时任务

定时任务是指在预定的时间点或按照特定的时间间隔自动执行的任务。定时任务的应用场景:操作系统维护:例如,定期清理临时文件、更新系统补丁等。数据备份:定期对重要数据进行备份,以防数据丢失。自动化测试:例如,在每天凌晨自动运行软件测试脚本。网站维护:比如定时发布新内容、定时发送邮件提醒等。数据分析:例如,定期汇总和分析业务数据,生成报告。

2026-03-23 15:57:17 394

原创 Redis 通用命令

作用:EXPIRE可以给一个key设置有效期,有效期到期时该key会被自动删除,而TTL可以查看一个key的剩余有效期。:指定要连接的redis节点的IP地址,默认是127.0.0.1。实现开机自启,这样我们后面使用redis就不需要再手动启动了!,当关闭窗口后redis就会跟着关闭,对此我们可以将他转换为。在安装好redis后,会自带一个redis命令行客户端,即。:指定要连接的redis节点的端口,默认是6379。作用:判断key是否存在,存在返回1,不存在返回0。作用:查看符合模板的所有key。

2026-03-23 10:48:41 373

原创 MySQL 中如何进行 SQL 调优

如果排序数据量小,MySQL会在内存中完成排序,如果数据量超过sort_buffer_size,会发生磁盘文件排序,磁盘排序涉及临时文件的创建和多次IO,性能更差!当对无索引字段排序时,MySQL无法利用索引的有序性,必须将数据加载到内存中进行排序,这就是filesort,filesort是一个非常耗费资源的操作。解释最左匹配原则:最左匹配原则是指在使用联合索引时,必须按照索引的顺序从左到右使用,不能跳过索引中的列。,去查找完整的行数据,这个“回到主表查找 city 列”的过程就是。

2026-03-23 02:54:54 330

原创 实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题

4、在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”2、备份libcc.dll文件,将其复制并粘贴为“libcc.dll.bak”或任何其他名称。如果遇到任何安全问题,请将其另存为“.txt”文件,然后还原备份文件。6、重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了。3、在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如。解决方法2:降级pgsql。

2026-03-22 12:32:44 36

原创 图解缓存淘汰算法 LRU、LFU | 最近最少使用、最不经常使用算法 | go语言实现

无论是什么系统,在研发的过程中不可避免的会使用到缓存,而缓存一般来说我们不会永久存储,但是缓存的内容是有限的,那么我们如何在有限的内存空间中,尽可能的保留有效的缓存信息呢?那么我们就可以使用 LRU/LFU算法,来维持缓存中的信息的时效性。

2026-03-22 11:52:02 315

原创 使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南

本文介绍了如何使用 Nginx 搭建正向代理服务器,支持 HTTP 和 HTTPS 网站代理,并提供了详细的代码和配置示例。通过本文的学习,您可以掌握搭建正向代理的基础知识,并能在实际项目中应用。代理服务器是一种非常强大的工具,能够帮助我们隐藏客户端信息、绕过 IP 限制等。合理的配置和优化可以提升代理服务器的性能,从而满足实际应用中的需求。

2026-03-22 11:11:06 487

原创 Windows 上彻底卸载 Node.js

电脑环境混乱,记录一下完整卸载的过程。

2026-03-22 04:14:38 246 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除