- 博客(35)
- 资源 (1)
- 收藏
- 关注
原创 SpringMVC 请求参数接收
在浏览器与程序进行交互时,主要分为**1. 建立连接:**将用户(浏览器)和 Java 程序连接起来,也就是访问一个地址能够调用到Spring程序的功能**3. 响应:**在执行了业务逻辑之后,要将程序执行的结果返回给客户,也就是响应在本篇文章中,我们来学习请求(获取参数)这部分内容。
2026-03-17 17:21:20
313
原创 Spring 中集成Hibernate
如果你需要做的事情无法通过Spring Data JPA来实现,那就必须要在一个比Spring Data JPA更低的层级上使用JPA。我们只需在必须使用较低层级JPA的方法上,才使用这种传统的方式即可,而对于Spring Data JPA知道该如何处理的功能,我们依然可以通过它来实现。我们可以看到,这里的动词是read,与之前样例中的find有所差别。有些时候,我们需要Repository所提供的功能是无法用Spring Data的方法命名约定来描述的,甚至无法用@Query注解设置查询来实现。
2026-03-17 15:05:41
182
原创 Redis 设置密码(配置文件、docker容器、命令行3种场景)
注意:通过命令设置密码后,为了防止下次服务重启后又变成没有密码,请注意配合以上 1、2 两种方式在服务重启后配置对应的密码。以上两种方法,都需要重启服务,如果是某些环境需求不允许停机 redis,则我们可以通过。或者直接使用 redis 桌面客户端工具连接 redis 后进入客户端命令行。如果你本地没有默认的 redis.conf 配置文件,可以从。来为 redis 设置密码,配置完后需要重启方可生效。如果 redis 是 docker 容器,可以使用命令。通过修改 redis.conf 配置文件中的。
2026-03-17 12:37:12
38
原创 MySQL中between and的基本用法、范围查询
是支持数值查询的,当字段类型是数值时 between A and B等同于>=A and <=B。not between and表示指定范围之外的值。not between A and B相当于 < A or >B。从上面示例可以看出,还有两条数据时间是在2024-10-30日范围内,但是并没有被查询出来。当between and用于数值查询时,常用于字段类型为int、decimal等。当查询时间范围时要注意可能会遇到时间精度问题,具体参考下面示例。示例:查询年龄不在24到25之间的用户。
2026-03-17 04:11:28
177
原创 JAVA (Springboot) i18n国际化语言配置
在Java中,国际化(Internationalization,通常简称为i18n)是一个过程,它允许应用程序适应不同的语言和地区设置,从而能够支持全球用户。Java平台为国际化提供了强大的支持,包括Locale类、ResourceBundle类以及用于格式化日期、数字和货币的类。
2026-03-17 01:32:48
152
原创 解决 IntelliJ IDEA 中 Tomcat 日志乱码问题的详细指南
在使用 IntelliJ IDEA 进行 Java 开发时,Tomcat 作为常用的服务器,往往被集成在开发环境中。许多开发者可能会遇到这样一个问题:启动 Tomcat 服务器时,控制台的日志输出出现了乱码,尤其是当日志包含中文字符时。这种问题不仅影响调试体验,还可能导致对错误日志的误读,进而影响问题的定位和解决。本文将详细介绍如何通过修改 IntelliJ IDEA 和 Tomcat 的相关配置,彻底解决日志输出乱码的问题。
2026-03-16 22:25:27
356
原创 深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业公司还是大型企业,都希望能够更轻松地从海量的数据中挖掘出有价值的见解。然而,对于那些不熟悉SQL或者数据库架构的用户来说,直接编写复杂的查询语句往往是一个巨大的挑战。正是为了解决这一问题,Text2SQL技术应运而生,它允许用户通过简单的自然语言描述来获取他们所需的数据库信息。近年来,随着人工智能和机器学习领域的迅速发展,Text2SQL技术也取得了显著的进步。
2026-03-16 21:53:35
398
原创 【JAVA进阶篇教学】第十一篇:Java中ReentrantLock锁讲解
博主打算从0-1讲解下篇教学,今天教学第十篇:Java中ReentrantLock锁讲解。在Java并发编程中,保证多线程环境下的数据安全是至关重要的。ReentrantLock 是Java中用于实现线程安全的一种锁机制。本篇博客将深入介绍 ReentrantLock 的原理、详细说明,并通过案例演示线程不安全情况以及如何使用 ReentrantLock 实现线程安全。
2026-03-15 03:39:26
343
原创 SpringDoc和Swagger使用
Swagger和Springdoc是两个常用的工具,用于生成和维护API文档,特别是针对基于REST的Web服务。它们有效地提升了API的可读性和可维护性,帮助开发者、产品经理和其他利益相关者更好地理解和使用所提供的API。注意:Swagger支持springboot2.0但不支持springboot3.0。
2026-03-15 01:05:28
221
原创 SpringBoot中Get请求和POST请求接收参数详解
参数用 @RequestParam 标注,使用value属性指定参数名,required属性表示这个参数是否必传。参数用 @RequestParam 标注,使用value属性指定参数名,required属性表示这个参数是否必传。直接以实体类可以接收param、form-data、 x-www-form-urlencoded 提交的参数。注意:SpringBoot 接收集合参数,必须用 @RequestParam 注解声明!这种方式一般适用参数比较少的情况,并且前后端参数名称必须保持一致。
2026-03-14 19:24:46
257
原创 Spring Cloud Nacos配置管理
Nacos 作为配置中心,实现了配置的集中管理,当配置更新时,不需要重启应用立即生效,同时配置的修改具有版本管理功能,便于审计和回滚等操作。此外对于一些敏感信息放到配置中心,通过权限控制增加安全性。
2026-03-14 18:21:26
394
原创 SpringBoot SpringCloud spring framework 版本对应
spring-boot版本 依赖springframework jdk版本 发布时间。兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x。兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x。兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x。兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x。spring-boot和springframework、jdk的版本关系。
2026-03-13 21:34:38
168
原创 彻底解决 `ModuleNotFoundError No module named ‘MySQLdb‘` 这个错误
提示:确认你不是在尝试安装 `MySQLdb`,这个库只兼容 Python 2。-对于 Python 3,选择 `mysqlclient` 或 `PyMySQL` 作为替代。它们都是与 `MySQLdb` 类似,但兼容 Python 3 的库。这样可以在未修改大量现有代码的情况下,确保它们可以使用 `PyMySQL` 作为 `MySQLdb` 的替代。python项目启动时报错,但是mysql相关的驱动都已经安装,mysqlclient、pymysql等。
2026-03-13 02:03:14
207
原创 一文读懂Ingress-Nginx以及实践攻略
Ingress是Kubernetes的 一种 API 对象,用于管理集群内服务的外部访问。Ingress 可以提供从集群外部到集群内Service的 HTTP 和 HTTPS 路由,并可以基于域名、路径等规则将请求转发到集群内的Service上。Ingress nginx是 Kubernetes 中最常用的 Ingress 控制器之一,由 NGINX 官方提供支持(备注:nginx和k8s官方各自维护了一套 nginx ingress controller是 NGINX 和 NGINX Plus 的。
2026-03-12 12:05:16
232
原创 【Flask】四、flask连接并操作数据库
在Flask框架中,数据库的操作是一个核心功能,它允许开发者与后端数据库进行交互,执行数据的增删改查操作。本文将详细介绍如何在Flask中连接并操作数据库,包括使用Flask-SQLAlchemy扩展和直接使用MySQL的Python驱动。常见的有三种操作方法:使用 SQLAlchemy、使用 Flask-SQLAlchemy 连接 MySQL和直接使用 MySQL 的 Python 驱动,本篇先讲述如何使用SQLAlchemy进行连接,后续会对其他方式进行讲解。
2026-03-12 09:41:03
209
原创 SpringBoot集成Flink-CDC,实现对数据库数据的监听
CDC 是(变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、 更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。/*** 反序列化数据,转为变更JSON对象*/@Override//5.获取操作类型 CREATE UPDATE DELETE2 : 3;//7.输出数据/*** 从元数据获取出变更之前或之后的数据*/= null) {
2026-03-11 23:10:13
392
原创 Spring boot启动原理及相关组件
ConfigurationClassPostProcessor的优先级为最高,它会对项目中的@Configuration注解修饰的类(@Component、@ComponentScan、@Import、@ImportResource修饰的类也会被处理)进行解析,解析完成之后把这些bean注册到BeanFactory中。在github里,我把Spring Boot应用启动的拓展组件(自定义的应用初始器、监听器、事件、ApplicationRunner)都写了例子,可参照阅读。
2026-03-11 20:42:38
355
原创 MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
MySQL[这里是图片001]https://www.mysql.com/cn/到此,并完成了驱动的下载!
2026-03-10 08:06:10
91
原创 解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
Tomcat 静态文件和 Web 服务同时允许跨域,即 Tomcat webapp 目录下同时存在静态文件服务和 war 包启动的服务。Springboot 框架下的配置,允许所有接口跨域,Springboot 环境下测试生效,Spring MVC环境下测试未生效。偶尔遇到一个 Tomcat 部署项目跨域问题,因为已经处理过太多跨域了,觉得很简单。Tomcat 静态文件允许跨域,设置比较简单,百度一搜一堆,这里简单贴一下。老项目以 war 包居多,新项目(Springboot)以 jar 包居多。
2026-03-09 07:29:31
372
原创 史上最强!Spring Boot 3.3 高效批量插入万级数据的多种方案
自定义SQL批处理通过使用的方法,将多个插入操作打包成一个批量操作一次性提交。这种方法结合了Spring的和自定义的SQL批处理。在这篇文章中,我们深入探讨了几种在SpringBoot 3.3中实现高效批量插入数据的方法,包括JDBC批处理、自定义SQL批处理、单条插入、拼接SQL、MyBatis-Plus的`saveBatch和循环插入+批处理。每种方法都具有独特的优点和适用场景,在实际开发中可以根据需求选择最合适的方法。
2026-03-09 03:30:02
192
原创 【Redis】Redis各个版本的下载安装教程
7、将Redis的目录添加到Path路径中(添加之后,运行client-cli,不需要切换到解压目录下就可以直接打开客户端)6、注册服务(注册之后,启动服务,可以省略到第4步使用redis),同样以管理员身份打开cmd窗口,切换到解压的目录,运行。4、一管理员方式打开cmd窗口,进入到解压的目录下,运行。5、另外再开一个窗口,同样进入安装目录下,运行。(1)运行之前,服务列表中不包含Redis。(3)运行之后,服务列表包含Redis服务。
2026-03-08 13:15:05
73
原创 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 版本对应关系。
2026-03-07 06:33:07
183
原创 Redis集群模式
redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个整数结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。一个主节点,多个从节点,那么主节点可以负责:读操作,写操作。准备: 一主二从-----3台----开三个虚拟机–为了节省虚拟机,在一台主机开启三个redis服务。
2026-03-07 02:59:36
235
原创 MySQL数据库报错:ERROR 2002 (HY000) Can‘t connect to local MySQL server through socket
在安装或配置MySQL数据库时,是一个常见的错误,这可能会阻碍数据库的正常使用。本文将深入探讨这个错误的原因、诊断方法以及详细的解决步骤,帮助你快速恢复MySQL数据库的正常运行。
2026-03-06 10:52:38
198
原创 Job for mysqld.service failed because the control process exited with error code. See “systemctl sta
杀死进程之后导致mysql进程还在,根本杀不死,查询mysql杀不死原因,重启服务器也不行。有可能是权限不足也有可能是,mysql存在锁机制导致mysql进程杀不掉。服务器系统盘空间已满导致mysql异常停止,启用mysql导致失败,再次查询mysql服务启用成功!
2026-03-06 03:41:23
170
原创 如何使用 Python 连接 MySQL 数据库?
在Python开发中,连接MySQL数据库是一个常见的需求。我们可以使用多种库来实现这一功能,其中最常用的是和PyMySQL。下面我将详细介绍如何使用这两个库来连接MySQL数据库,并提供一些实际开发中的建议和注意事项。
2026-03-05 04:41:23
347
原创 【spring】Spring事件监听器ApplicationListener的使用与源码分析
Override@AutowiredapplicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));applicationEventPublisher.publishEvent(new CustomEvent("自定义事件"));@Override。
2026-03-05 00:57:15
211
原创 Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)
这个问题可能会发生在,用的老师的压缩包没有去官网上下载,或者在自己使用过一段tomcat甚至项目都可以运行起来的时候,因为这种情况下可能会误删电脑上的文件。端口占用可能会出现这个问题,因为tomcat的默认端口号是8080,如果在是运行tomcat时计算机的程序也有8080的端口号,这时候就会报错404。改成自己喜欢的端口8888,9999什么都可以,不要与其他服务端口相同就行,修改后。这个问题可有可无,意思是正常情况下,有没有都是可以访问滴放心。官网下载较慢,我在网盘中放了9.0.78版本的压缩包。
2026-03-04 04:55:47
231
原创 SpringBoot实现图形验证码
目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获取验证码验证码校验调整前端代码随着安全性的要求越来越高,目前许多项目中都使用了验证码,验证码也有各种类型,如 图形验证码、短信验证码、邮件验证码、人脸识别等,这些不同类型的验证码可以根据实际需求和安全性要求进行选择和应用,保护网站和用户免受恶意攻击在本篇文章中,我们来学习图形验证码的实现验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用 Hutool
2026-03-04 01:11:27
220
原创 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-03 05:34:51
399
原创 Redis内存设置
需要注意, maxmemory限制的是Redis实际使用的内存量, 也就是used_memory统计项对应的内存。由于内存碎片率的存在, 实际消耗的内存可能会比maxmemory设置的更大, 实际使用时要小心这部分内存溢出。通过命令修改(重启失效):config set maxmemory-policy allkeys-lru 命令设置内存淘汰策略,config get maxmemory-policy 命令获取当前采用的内存淘汰策略。allkeys-lru:对所有key使用LRU算法进行删除(生产推荐)
2026-03-03 02:36:26
272
原创 MySQL输入密码后闪退?
在服务列表中,找到以“MySQL”开头的服务(例如,MySQL、MySQL56、MySQL57、MySQL80等,具体名称取决于你的MySQL版本和安装方式)。有时候,default-character-set=gbk这样的设置可能会导致问题,你可以尝试将其注释掉或删除,然后重启MySQL服务。②修改SQL语法:如果你不想改变MySQL的版本,那么你可以尝试修改SQL查询语句,确保它们符合目标MySQL服务器的语法要求。如果MySQL服务已启动并且你输入了正确的密码,你应该能够成功连接到MySQL服务器。
2026-03-02 16:33:04
265
原创 Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
是MySQL的一个SQL模式(SQL_MODE)之一,它要求在使用GROUP BY语句时,SELECT列表、HAVING条件或ORDER BY列表中的每个列,要么是聚合函数的一部分(如COUNT()SUM()AVG()等),要么必须在GROUP BY子句中明确指定。这一模式的设计初衷是增强查询的准确性和可预测性,避免因为列的不明确引用而导致的数据错误或不一致。
2026-03-02 15:45:40
396
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅