- 博客(79)
- 收藏
- 关注
原创 Spring Boot 整合 MyBatis 与 PostgreSQL 实战指南
在包下精心构建与数据库表结构对应的实体类,例如创建User@Data此处借助 Lombok 的@Data注解简化了常规的getsetequalshashCode等方法编写,若未引入 Lombok,需手动生成这些方法。于包内创建UserMapper接口,用@Mapper@Mapper。
2026-04-04 05:32:23
225
原创 MySQL无法连接到本地localhost的解决办法2024.11.8
我的MySQL可以远程连接服务器,但无法连接自己的localhost。1. 检查环境变量是否正确:发现没有配置,加上正确的环境变量↓。2.加上环境变量后,仍然显示不能连接到我的localhost。step3:再在cmd中,输入以下内容,重新安装服务。step1:用管理员权限打开cmd,在命令框中输入。4.没发现问题(大雾)
2026-04-04 02:32:46
8
原创 springboot3整合SpringSecurity实现登录校验与权限认证(万字超详细讲解)
用户提交登录请求Spring Security 将请求交给 UsernamePasswordAuthenticationFilter 过滤器处理。UsernamePasswordAuthenticationFilter 获取请求中的用户名和密码,并生成一个 AuthenticationToken 对象,将其交给 AuthenticationManager 进行认证。
2026-04-02 07:35:23
376
原创 PHP搭建开发环境(Windows系统)
要搭建一个完整的PHP动态网站,离不开操作系统、Web服务器、数据库、和PHP软件。虽然有不错方便的方式,比如使用phpstudio等等等等许多面板都是非常快速不错的方式,但是这里是教会大家如何配置而不只是依赖别人整合好的面板软件,有时就会发挥出用处。以下是本文章的所采用的大概配置。
2026-04-02 04:18:51
313
原创 Mybatis控制台打印SQL执行信息(执行方法、执行SQL、执行时间)
SQL性能监控是一个程序必要的功能,通常我们可以使用数据库自带的客户端工具进行SQL性能分析。然而对于一些专业度不高的人员来说,当程序出现卡顿或者响应速度变慢时,排查问题变得困难。当程序出现卡顿,通常通过检查服务器磁盘使用情况、程序内存大小,网络带宽以及数据库I/O等方面进行问题排查。然而数据库I/O打高的情况通常是由于SQL执行效率过低导致的。一般项目制的公司都有属于自己的实施人员,然而要让实施人员去排查具体SQL执行过慢问题,这显然对于专业度不高的工作人员来说是一种挑战和煎熬。
2026-04-02 01:01:55
223
原创 IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
则只需要匹配最后一段)**如何选择主机号后缀?**在查询出的多个地址中必须选择你DDNS做同步的那个ipv6地址的后缀。注意!你的IPV6必须为EUI64生成这样主机位不会变动。如果是stable-privacy生成则会每次生成不同的后缀,虽然有利于安全性,但是并不适用于防火墙规则编写。可以按照以下教程修改。如果你不想修改,每次的地址都完全随机难以匹配,因此目的地址栏只能空着,仅依靠目标端口实现限制。(指定主机:端口 变为 所有主机:端口)
2026-04-01 23:11:37
180
原创 [java进阶]4.关键字throws和throw
也就是说调用了throws声明的方法之后,那么不管操作是否出现异常,都必须使用try…catch语句进行异常处理。主方法使用throws后,那么这个异常就将交给JVM进行处理,而后结束程序调用。在程序之中可以直接使用throw手动抛出异常类的实例化对象。,指的是当方法之中出现异常后交由被调用处处理。
2026-04-01 02:38:47
140
原创 SpringBoot3 整合 Mybatis 完整版
成功,至此,已经完成了 SpringBoot3 整合 Mybatis 的步骤。在 application.yaml 文件中添加mybatis的相关配置。当不指定 依赖版本的时候,会 由 springboot 自动管理。在 application.yaml 文件中添加数据源的信息。第三方的依赖库,需要明确的指定版本号。推荐使用最新的即可。结合表结构,创建普通的一个bean类。包含了普通属性,标准的下划线属性。, 指定要扫描的 mapper 接口的包路径。先写上吧,没有副作用。在 项目的 启动类上添加注解。
2026-03-31 05:57:38
205
原创 Node.js(v16.13.2版本)安装及环境配置教程
按Ctrl+` 键打开终端输入:npm install --registry=https://registry.npmmirror.com。选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位(v16.13.2版本)二、解压文件到nodejs,并打开文件夹nodejs,复制解压文件目录路径。三、配置环境变量:桌面–》此电脑–》右键–》属性。五:打开Visual Studio Code。
2026-03-31 02:44:45
174
原创 mysql in查询大数据量业务无法避免情境下优化
在 MySQL 中,IN查询操作广泛用于从数据库中检索符合条件的多条记录,但当涉及到大数据量的IN查询时,性能可能会显著下降。特别是当IN子句中的元素数量非常大时,MySQL 需要对每个元素进行匹配,这会导致查询变得非常慢。为了解决这个问题,我们需要采取一些优化策略来提升查询效率。
2026-03-30 11:56:00
291
原创 java进阶知识点
缺点:会制造大量垃圾,由于他们不能被重用而且对于它们的使用就是”用“然后”扔“,字符串就是一个典型的例子,它会创造很多的垃圾,给垃圾收集带来很大的麻烦。当然这只是个极端的例子,合理的使用不可变对象会创造很大的价值。其次,String类的主力成员字段value是个char[]数组,而且是用final修饰的。这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变。通过接口的引用和构造方法的表达,将一些事情整好了反过来传给需要用到的地方~
2026-03-30 11:09:33
5
原创 Redis 设置密码无效问题解决
打开文件后 “Ctrl+F”查找“requirepass”,找到“# requirepass foobared”我有两个后缀是 .conf 的文件,这两个文件都用编辑器打开,比如我用Notepad++打开的。再在命令窗口输入“redis-server.exe redis.windows.conf”回车。在redis的目录下找到后缀是 .conf 的文件,文件的名称不统一,以我的为例如下图。输入“exit” 回车就立即退出redis。输入“redis-cli.exe” 回车。都返回的是“OK”,就成功了。
2026-03-30 06:39:07
16
原创 MySQL 教程(超详细,零基础可学、第一篇)
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 是开源的,目前隶属于 Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL 使用标准的 SQL 数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。
2026-03-30 03:06:49
344
原创 【MySQL】MySQL库的操作
例如,在某些校验集下,大写字母和小写字母被视为相同(不区分大小写),而在其他校验集下则被视为不同(区分大小写)。此外,对于包含重音字符的语言,不同的校验集可能会以不同的方式处理这些字符的排序。选择适当的校验集对于确保查询结果的准确性和排序的正确性至关重要。例如,在区分大小写的校验集下,查询"John"将不会返回"john"的记录;而在不区分大小写的校验集下,这两个查询将被视为相同。
2026-03-28 12:37:36
147
原创 SpringBoot3 集成 Shiro
是一个强大且易用的Java安全框架,提供了身份验证、授权、密码学和会话管理等功能。它被广泛用于保护各种类型的应用程序,包括Web应用、桌面应用、RESTful服务、移动应用和大型企业级应用。没有Spring Security 那么多晦涩的概念和术语,其原理非常清晰易懂,也非常容易集成到自己的项目中。SpringBoot 2.x 已于去年底End of life,升级到 SpringBoot 3 成了一件必须要做的事情,而SpringBoot 3 在集成 Shiro 时,有一些坑,也有一些与之前不同之处。
2026-03-28 08:28:49
209
原创 Nginx反向代理出现502 Bad Gateway问题的解决方案
前一阵子写了一篇“关于解决调用百度翻译API问题”的博客,近日在调用其他API时又遇到一些棘手的问题,于是写下这篇博客作为记录。
2026-03-27 13:27:43
363
原创 Java实战:Spring Boot application.yml配置文件详解
本文详细介绍了Spring Boot配置文件的使用和配置项。我们首先了解了文件的基本概念和作用,然后学习了如何使用它来配置Spring Boot应用程序的不同组件,如数据源、数据库、缓存、邮件服务等。通过本文,您应该已经掌握了如何使用文件来配置Spring Boot应用程序。您学会了如何配置数据源、数据库、缓存、邮件服务和其他组件的属性。希望本文能够帮助您在开发Spring Boot应用程序时更加得心应手。如果您有任何疑问或建议,请随时留言交流。
2026-03-27 09:22:20
271
原创 SpringBoot项目如何导入外部jar包:详细指南
导入外部jar包到SpringBoot项目是一个简单的过程,只需要几个步骤:将jar包复制到资源目录,修改pom.xml文件以包含对jar包的引用,并确保在打包时包含这些系统依赖项。通过这种方式,你可以轻松地扩展你的SpringBoot应用的功能,而不受Maven中央仓库的限制。希望这篇文章能帮助你在SpringBoot项目中成功导入外部jar包。如果你有任何疑问或需要进一步的帮助,请随时在评论区留言。
2026-03-26 13:54:38
176
原创 springboot3.X 无法解析parameter参数问题
使用最新版的Springboot 3.2.1(我使用3.2.0)搭建开发环境进行开发,调用接口时出现奇怪的错。
2026-03-26 13:00:37
292
原创 Spring cloud alibaba集成nacos 报错:[Nacos Config] config[dataId=xxx, group=DEFAULT_GROUP] is empty 解决
需要注意的是,在使用Nacos 2.x版本时,需要确保这两个端口都已经在服务器上开放,并且在安全组和防火墙中也相应地开放这些端口,以保证Nacos能够正常工作。如果你的Spring Boot项目正在使用Nacos,也需要将项目中的server-adr端口改成9848,以适配新版本的端口变化。Nacos在升级到2.x版本后,对端口的使用进行了调整,新增了端口9848作为管理端口(Management Port),而原有的8848端口继续用于服务发现和配置管理。3,发现配置均正常,那么需要详细去判断一下。
2026-03-26 12:05:24
219
原创 Java进阶知识-反射
而mMainThread对象是ActivityThread类型,该类是我们的主线程类,里面有有一个mInstrumentation成员变量,该成员变量属于Instrumentation类型。应用中所有的Activity都继承自一个BaseActivity基类,基类中实现一个startActivity方法,在该方法之前加上一句打印,那么所有startActivity的地方都调用基类中的方法。通过反射,可以获取某个类中的所有方法,包括private,public,protect类型的方法。
2026-03-26 01:35:22
326
原创 SpringBoot有几种获取Request对象的方法
HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了,在 Spring Boot 中,获取 Request 对象的方法有哪些?常见的获取 Request 对象的方法有以下三种:通过请求参数中获取 Request 对象;通过 RequestContextHolder 获取 Request 对象;
2026-03-25 23:22:22
160
原创 SpringBoot Maven 项目 pom 中的 plugin 插件用法整理
把 SpringBoot Maven 项目打包成 jar 文件时,我们通常用到 spring-boot-maven-plugin 插件。前面也介绍过,在 spring-boot-starter-parent POM 和 spring-boot-starter POM 中都有插件的管理,现在我们就撸一把构建元素中插件的用法。project 标签指定项目的声明。modelVersion 标签指定 POM 模型的版本。目前使用的是 4.0.0 版本。这是 Maven 项目的根元素,定义了项目模型的版本。
2026-03-25 22:37:54
325
原创 rust web框架actix和axum比较
Axum 和 Actix Web 在性能上的差距通常可以忽略,尤其是在现代硬件和典型的 Web 服务负载下。不过,如果你需要处理极端高并发场景(如每秒上百万次请求),Actix Web 可能会表现得更好。而对于需要极致性能或已有 Actix 经验的团队,Actix Web 更加适合。,但在大多数应用场景中,这种差距不会成为决定因素。选择框架时,更应该关注团队对框架的熟悉程度以及项目的复杂性和扩展需求。语法现代化,易学易用,Rust 风格清晰。模型,独立线程池,适合复杂任务。易用,设计现代化,快速搭建服务。
2026-03-25 16:12:37
294
原创 PageHelper 解析及实现原理
面向关系型数据库的 SQL 查询和数据导出时,如果数据条数非常大,直接将所有数据一次性查出或者导出显然是不可行的。这时候就需要进行分页查询或分页导出,将查询或导出的数据按照指定大小分页加载或写入,从而提高查询或导出的效率。而分页查询或分页导出的实现过程比较繁琐,需要考虑很多细节问题,容易出错。因此,出现了一些支持分页查询或分页导出的插件或工具类,例如 MyBatis-Plus 的分页插件 PageHelper。PageHelper是Mybatis-Plus中的一个插件,主要用于实现数据库的分页查询功能。
2026-03-25 14:58:38
228
原创 「MySQL」日期时间格式化函数 DATE_FORMAT() 的使用详解
是MySQL中用于格式化输出日期时间的函数,我们可以通过使用该函数满足大多数格式化日期时间的应用场景,本文的示例展示了如何获取当前日期和时间并将其格式化为一个常见的格式,您可以根据需要调整格式字符串来满足您的具体需求。但需要注意的是,不同的数据库系统可能支持不同的格式字符串,所以在使用时需要参考相应数据库的文档来确定正确的格式字符串。
2026-03-24 14:07:54
148
原创 springboot+全局异常处理
使用这个注解的类可以捕获和处理来自 Spring MVC 控制器的异常。异常的传播:异常的目的是传递错误信息,如果每个地方都捕获并处理异常,可能会隐藏错误的根本原因,使得问题难以被发现和解决。这个地方我们就可以发现实际上就是自动的帮我们做了异常处理了,当然我给的这个实例只是针对于全部的异常而不是自定义的异常。代码可读性:业务逻辑代码中混入大量的异常处理代码会降低代码的可读性,使得主要业务逻辑变得难以理解和维护。这些类可以捕获和处理应用程序中的异常,并返回统一的错误响应。controller类。
2026-03-23 17:03:07
300
原创 Spring Boot应用关闭分析
本文挖掘了Spring Boot的关闭方式,并列举了关闭方式,从原理、源码的角度阐述了Spring Boot的关闭代码及扩展点。同时,额外说明了一些系统特性 和原理,比如,程序退出码和信号机制。
2026-03-23 15:58:06
342
原创 redis 配置
控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性。#连接池的最大数据库连接数。#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个。#最大建立连接等待时间。#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1。#连接的最小空闲时间 默认1800000毫秒(30分钟)#客户端超时时间单位是毫秒 默认是2000。#在空闲时检查有效性, 默认false。#每次释放连接的最大数目,默认3。
2026-03-23 10:49:24
11
原创 对Docker部署的MySQL中的数据进行备份恢复
使用Docker部署的MySQL进行备份/恢复与传统方式类似,但需要考虑Docker容器的特殊性。以下是详细的步骤,帮助你在Docker环境中进行MySQL的全量备份。
2026-03-22 12:33:22
199
原创 在 MySQL 中使用 `REPLACE` 函数
在 MySQL 中,REPLACE函数是一个用于处理字符串的强大工具。它的主要功能是替换字符串中的某些子字符串。REPLACE函数在数据清理、格式化以及处理文本数据时非常有用。本文将详细介绍REPLACE函数的使用方法,包括函数的语法、示例以及实际应用场景。
2026-03-22 11:52:42
181
原创 使用 pgvector 实现 PostgreSQL 语义搜索和 RAG:完整指南
pgvector 是一个强大的 PostgreSQL 扩展,它为 PostgreSQL 数据库添加了向量相似性搜索功能。这使得我们可以在关系型数据库中执行语义搜索,将结构化数据查询与非结构化数据的语义理解相结合。pgvector 为 PostgreSQL 带来了强大的语义搜索能力,使得我们可以在传统关系型数据库中实现高级的文本检索和 RAG 系统。通过本文的介绍,你应该已经掌握了 pgvector 的基本使用方法,包括环境设置、数据准备、语义搜索和 RAG 实现。pgvector 官方文档。
2026-03-22 11:11:45
381
原创 Windows 和 Linux 系统下,如何查看 Redis 的版本号?
进入 Redis 所在目录 C:Program Files edis-latest>,然后在路径上输入 cmd 后回车,即可打开 cmd 窗口,打开后路径直接指向【C:Program Files edis-latest>】,启动 redis-server。严格来讲,通过 redis-cli 得到的结果应该是 redis-cli 的版本,但是 redis-cli 和 redis-server 一般都是从同一套源码编译出的,所以应该是一样的。启动后可以看见 Redis 版本号是 Redis 3.0.503。
2026-03-22 04:15:23
213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅