自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring数据库原理 之 DataSource

AbstractDriverBasedDataSource 抽象类的两个子类 DriverManagerDataSource 和 SimpleDriverDataSource 都以不同方式获得了连接(Connection),但总结而言,获取连接(Connection) 的任务被委托给了 Driver 来实现。在 Spring-jdbc 下,DataSource 最顶级的类是 AbstractDataSource ,对 DataSource 的所有父接口方法做了实现。那么他们到底有哪些异同点呢?

2026-04-21 10:28:11 255

原创 Spring TransactionTemplate 深入解析与高级用法

TransactionTemplate` 是 Spring 框架中一个强大的工具,它允许开发者以编程方式控制事务。通过本文的详细解析和示例代码,我们可以看到如何使用 `TransactionTemplate` 来执行事务性操作,并处理高级事务场景。在实际开发中,合理使用事务管理对于确保数据一致性和系统稳定性至关重要。

2026-04-21 08:05:48 182

原创 PostgreSQL 向量扩展插件pgvector安装和使用

重新修改.bash_profile,配置PG_CONFIG和LD_LIBRARY_PATH,指定安装的postgresql 16.3版本。make编译调用的postgresql不是之前安装的 16.3,而是apt-get 安装的10.23版本。利用pgvector 前提是事先安装好postgresql,安装postgresql例可参考下文。make编译pgvector时无法识别安装的postgresql。安装的版本不是最新的版本而是10.23。pgvector的安装成功。

2026-04-21 05:48:49 434

原创 mysql中主键索引和联合索引的原理解析

联合索引:将数据库表中多个字段组成一个索引。bcd联合索引;bcd三个字段进行排序复合索引,也叫联合索引,用户可以在多个列上建立索引,这种索引叫做复合索引。当我们创建一个组合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。查询的字段正好在联合索引字段里面,不需要回表(不需要回表了,直接从联合索引字段中将该字段取出来)同样的也符合联合索引,也不需要回表,因为a字段(主键)在联合索引中。

2026-04-21 03:30:57 357

原创 Java 进阶:异常影响性能吗?

处理异常的几个步骤里,对性能的耗费从大到小依次为:输出到日志、获取异常堆栈、创建并 catch 异常。

2026-04-21 01:15:05 39

原创 windows下安装并使用node.js

选择对应你系统的Node.js版本下载。

2026-04-19 19:32:05 310

原创 SpringBoot有几种获取Request对象的方法

HttpServletRequest 简称 Request,它是一个 Servlet API 提供的对象,用于获取客户端发起的 HTTP 请求信息。例如:获取请求参数、获取请求头、获取 Session 会话信息、获取请求的 IP 地址等信息。那么问题来了,在 Spring Boot 中,获取 Request 对象的方法有哪些?常见的获取 Request 对象的方法有以下三种:通过请求参数中获取 Request 对象;通过 RequestContextHolder 获取 Request 对象;

2026-04-19 16:43:30 166

原创 Spring Boot 整合 Druid 并开启监控

如果默认配置不能满足你的需求,你可以创建一个自定义的 Druid 配置类来覆盖默认设置。@Bean// 如果需要,可以在这里添加更多配置,如过滤器、拦截器等@Bean@Bean通过以上步骤,我们成功地在 Spring Boot 应用中集成了 Druid 数据库连接池,并开启了其监控功能。这不仅提高了数据库访问的效率,还为开发者提供了宝贵的调试和优化工具。希望这篇文章能够帮助你。

2026-04-19 14:03:50 239

原创 nginx中的proxy_set_header参数详解

proxy_set_header 是 Nginx 配置中用于设置代理请求 HTTP 头部的指令。当 Nginx 作为反向代理时,它允许自定义从客户端接收到的请求或添加新的请求头,然后将其转发到后端服务器。这对于维护 HTTP 协议的连贯性、安全性和功能性至关重要。X-My-Header 是一个自定义的请求头字段,用于存储自定义信息。上游服务器可以通过读取 X-My-Header 字段获取自定义信息。

2026-04-19 11:16:07 251

原创 Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错

是MySQL的一个SQL模式(SQL_MODE)之一,它要求在使用GROUP BY语句时,SELECT列表、HAVING条件或ORDER BY列表中的每个列,要么是聚合函数的一部分(如COUNT()SUM()AVG()等),要么必须在GROUP BY子句中明确指定。这一模式的设计初衷是增强查询的准确性和可预测性,避免因为列的不明确引用而导致的数据错误或不一致。

2026-04-19 02:46:01 194

原创 私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)

ollama已经开放了非常全的api接口了,对于全面私人化定制都是可以支持,详情参照官方文档,我这里只是弄了一个简单的示例。打开【系统环境变量】,新建一个系统环境变量{OLLAMA_MODELS}值为{D:ollamamodels}这一步是为了确保你以后下载的模型都放在别的地址(因为默认安装到C盘,这里可以将模型下载到别的盘)注意,关闭ollama进程,然后再执行下面的步骤,因为安装后默认程序已经打开了。下载完毕后,直接点击安装(默认安装C盘,确保你的C盘有10G以上的空间)

2026-04-18 07:32:37 240

原创 使用mysql报Communications link failure异常解决

线上使用polarDB,基于mysql(5.7),架构为springboot+mybatisplus+durid连接池,部分业务场景涉及大表更新和查询操作,在查询慢sql且超过一定时间时就会报出"Communications link failure"异常,主要体现在界面查询或定时任务处理大批量数据是执行数据库的更新、查询异常。问题得不到解决,业务层对索引优化和强制索引等都进行了处理,部分数据迁移到ES/IOTDB,但根本问题在于MYSQL中依旧存在不可避免的大表慢sql,导致该问题依旧存在。

2026-04-18 05:09:41 234

原创 【MySQL】 常见数据类型

浮点数和定点数类型的特点是可以处理小数 ,你可以把整数看成小数的一个特例,因此,浮点数和定点数的使用场景,比整数大多了。小数:有符号float(4,2)表示的范围是-99.99 ~ 99.99,无符号的float(4,2)表示的范围是0 ~ 99.99,MySQL在保存值时会进行四舍五入。有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),使用set类型,(男,女)[单选] ,使用enum类型。MySQL的常用数据类型,就分享到这里了,如有错误还望指出,886!

2026-04-18 02:45:19 181

原创 SpringCloud篇(配置中心 - Nacos)

这样,UserApplication(8081)使用的profile是dev,UserApplication2(8082)使用的profile是test。{spring.profiles.active}.${spring.cloud.nacos.config.file-extension}作为文件。Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。我们最终的目的,是修改nacos中的配置后,微服务中无需重启即可让配置生效,也就是。

2026-04-18 00:22:15 420

原创 Redis——使用 python 操作 redis 之从 hmse 迁移到 hset

环境。

2026-04-04 04:39:07 257

原创 mysql--多表查询

子查询就是嵌套查询,即SELECT中包含SELECT,如果一条语句中存在两个,或两个以上SELECT,那么就是子查询语句了。如果多条查询语句查询出来的结果,字段数量不一致,在进行union/union all联合查询时,将会报错。SELECT 字段列表 FROM 表1 RIGHT [ OUTER ] JOIN 表2 ON 条件 …SELECT 字段列表 FROM 表1 LEFT [ OUTER ] JOIN 表2 ON 条件 …from 表1 表2 where 连接条件;

2026-04-04 01:39:04 409

原创 springboot中@PostConstruct注解使用详解

是 Spring 中用于在 Bean 初始化完成后执行一些初始化逻辑的注解。它通常用于在依赖注入完成后执行一些必要的初始化操作,如资源加载、配置初始化等。相比于其他初始化方式,更加简洁直观,推荐在大多数场景下使用。

2026-04-02 07:43:03 362

原创 PostgreSQL 中进行数据导入和导出

在 PostgreSQL 中,数据的导入和导出是数据库管理中不可或缺的操作。通过使用COPYCOPYpg_dump和pg_dumpall等工具,您可以高效地管理您的数据。掌握这些命令和技巧,将有助于提高数据管理的效率和准确性。希望本文对您了解 PostgreSQL 中的数据导入和导出有所帮助。无论是开发、维护还是数据分析,熟练运用这些工具都将使您的工作更加得心应手。如果您有更多的问题或需要深入了解,请参考 PostgreSQL 的官方文档或相关技术资源。

2026-04-02 04:26:20 384

原创 MySQL Join 的原理与优化实践

算法适用场景优点缺点内层表有索引查询高效,减少内层扫描行数依赖索引,外层表仍需扫描所有行无索引,小数据量简单实现,适合小型数据集内层表全表扫描,效率较低无索引,大数据量缓冲区减少扫描次数依赖内存大小,耗内存场景Join 是否必要推荐方案汇总查询(无关联需求)不必要使用单表查询或子查询优化,避免多余 Join。多表关联查询必要若数据量较大,优先使用子查询减少扫描行数;若数据量小,直接 Join 效率更高。

2026-04-02 01:09:42 384

原创 JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)

我们想要部署一个javaWeb项目到tomcat上,需要了解一些概念Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(JSTL)、Java WebSocket 技术以及 Java API for WebSocket 的容器。

2026-04-01 23:17:49 369

原创 深入了解 MySQL 中的 JSON_CONTAINS

函数用于检查一个 JSON 文档中是否包含另一个 JSON 文档。target: 目标 JSON 文档,即我们要检查的文档。candidate: 候选 JSON 文档,即我们要查找的值或对象。path: 可选参数,指定一个 JSON 路径,用于查找特定的节点。是 MySQL 提供的一个强大工具,可以在 JSON 数据中快速查找和匹配特定的值或对象。通过灵活地使用这项功能,可以极大地增强应用程序的数据处理能力和灵活性。随着应用场景的不断扩展,理解和利用 MySQL 中的 JSON 功能将变得愈发重要。

2026-04-01 19:53:51 212

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

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

2026-04-01 05:50:53 374

原创 【Golang】——Gin 框架中的表单处理与数据绑定

Gin 允许注册自定义验证器。import ("regexp"// 注册自定义验证器// 路由err!= nil {return})本篇博客详细介绍了 Gin 框架中表单处理与数据绑定的功能,从基础的表单提交到复杂的数据验证和文件上传,再到完整项目示例,涵盖了实际开发中的常见场景。在下一篇博客中,我们将学习如何处理 API 请求与 JSON 数据绑定,进一步拓展你的 Web 开发能力。

2026-04-01 02:46:03 460

原创 SpringbootActuator未授权访问漏洞

Actuator 是 SpringBoot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。然而,其默认配置会出现接口未授权访问,导致部分接口会泄露网站数据库连接信息等配置信息,使用Jolokia库特性甚至可以远程执行任意代码,获取服务器权限。

2026-03-31 06:05:28 221

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

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

2026-03-31 02:51:56 435

原创 Node.JS 版本管理工具 Fnm 安装及配置(Windows)

在使用多个终端或 Shell 的情况下,Fnm 会在该路径下创建相应的目录,以便管理不同 Shell 会话的 Node.js 版本。若 Fnm 不能在本地查找到符合项目指定的 Node 版本,将会在终端中给出提示,若选择 Y 将会自动下载并切换至指定 Node 版本。$env:FNM_LOGLEVEL:设置 Fnm 的日志级别,默认值info,可选值quiet, error, info。$env:FNM_NODE_DIST_MIRROR:指定 Node.js 分发包的镜像地址。否则请重新尝试以上步骤。

2026-03-30 05:40:18 390

原创 linux centos8 安装redis 卸载redis

(示例 :wget:https://download.redis.io/releases/redis-6.0.9.tar.gz)netstat -ntulp |grep 6379 //查看所有6379端口使用情况·–add-port=6379/tcp #添加端口,格式为:端口/通讯协议。1.查询redis进程:ps -ef |grep redis(如下图)netstat -ntlp //查看当前所有tcp端口·成功的干掉了redis这时候开始重启。好了到了这里基本上就是成功了。–zone #作用域。

2026-03-30 02:07:32 159

原创 【MySQL系列文章】Linux环境下安装部署MySQL

本次安装部署主要针对Linux环境进行安装部署操作,系统位数6464MySQL版本:v5.7.38。

2026-03-28 13:04:51 167

原创 springBoot发布https服务及调用

(2)CA 签名证书:对于生产环境,应该使用由受信任的证书颁发机构 (CA) 签名的证书。(1)自签名证书:如果你只是用于开发或测试环境,可以生成一个自签名证书。feign接口的地址还是正常配置http或https都支持。你需要提供一些信息,如组织名称等。注意记住密码和别名。这将创建一个有效期为 10 年的自签名证书,并将其存储在。启动服务即可通过https访问了,默认可以设置成false。把证书放在ssl目录下。

2026-03-28 08:56:34 215

原创 nodejs链接redis

本篇文章介绍nodejs连接redis,以及redis的基本使用。将存储和读取redis数据封装成工具类。封装redis配置信息。

2026-03-27 13:55:01 29

原创 Java进阶教程(二)代码块

构造代码块:给所有的对象进行统一的初始化。对象一建立就运行并且优先于构造函数。静态代码块:随着类的加载而加载。只执行一次,用于给类进行初始化。主函数、构造函数、静态代码块和构造代码块执行的先后顺序是怎样的?

2026-03-27 09:49:11 201

原创 MySQL中的TRUNCATE TABLE命令

在MySQL数据库管理中,命令是一个用于快速删除表中所有数据的重要工具。相比常规的DELETE命令,具有显著的性能优势和独特的操作特点。本文旨在深入探讨命令的用法、工作原理以及实际应用中的注意事项。MySQL中的命令是一个功能强大且高效的工具,理解其特性和使用场景有助于我们在日常数据库管理和维护工作中做出正确的决策。务必根据实际情况权衡其优势与风险,确保数据安全和系统稳定。

2026-03-26 03:18:36 173

原创 @RestController注解

Spring MVC(Model-View-Controller)是Spring框架中的一个模块,用于构建基于MVC设计模式的Web应用程序。Model:负责处理数据和业务逻辑。View:负责展示数据。Controller:负责处理用户请求并返回响应。Spring MVC通过一系列的注解(如等)简化了Web应用程序的开发。REST(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序。

2026-03-26 00:12:06 344

原创 MySQL:基础操作(增删查改)

下面都是表的DDL操作。

2026-03-25 04:55:00 235

原创 Linux安装redis

上传刚才下载的文件,或者使用wget命令下载,因为没有找到3.0.504所以下载了3.0.5。有的人会连接不成功,是因为发防火墙没有放开端口,这里有两种方法,关闭防火墙或者开放端口。想要测试是不是成功设置开机自启了,就执行命令,重启机器,然后进行连接测试。因为我一直使用的是redis3.0.504版本的,这里我就下载这个版本。开放完端口后需要重启防火墙才能生效。代表Kill(Stop)的顺序。是注册开机启动的运行级别。如果想断开连接,使用。有多个方式,比如使用。主要修改下面几个配置。代表Start的顺序。

2026-03-25 02:19:56 180

原创 【MySQL】数据类型与表约束

default和not null不冲突,而是相互补充的,not null是当用户想插入的时候,约束的是,要么是NULL,要么是合法数据。表的约束,表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的,约束本质是通过技术手段,倒逼程序员,插入正确的数据。反过来,站在MySQL的角度,凡是插入进来的数据,都是符合数据约束的!auto_increment:对应的字段,不给值,会自动被系统更新,系统从当前字段中已有的最大值+1,得到一个新的不同的值,通常和主键搭配使用,作为逻辑主键。

2026-03-24 14:40:26 369

原创 Spring注解

从 Spring 2.5 开始就可以使用注解来配置依赖注入,如果你想在 Spring 应用程序中使用的任何注解,将需要在我们的 Spring 配置文件中启用它,可以考虑到下面的配置文件。通过指定确切的将被连线的 bean,@Autowired 和 @Qualifier 注解可以用来删除混乱。注解可以应用到 bean 属性的 setter 方法,非 setter 方法,构造函数和属性。用于标注业务层组件,说白了就是加入你有一个用注解的方式把这个类注入到spring配置中。

2026-03-24 04:28:02 25

原创 redis连接服务

要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。如果需要在远程 redis 服务上执行命令,同样我们使用的也是。在以上实例中我们连接到本地的 redis 服务并执行。Redis 命令用于在 redis 服务上执行操作。命令,该命令用于检测 redis 服务是否启动。,该命令会连接本地的 redis 服务。

2026-03-23 11:27:54 22

原创 MySQL——数据库的操作

注:1)数据库在创建的时候是不能重复的,此时就可以在创建的时候,加上一个修饰,来应对上述问题;3)如果这个记录条件成立,就要保留,进行列上的表达式计算(第三步定义的别名,where是第二步执行的,执行where的时候,total还处于“未定义”的状态)需要再数据库中保存中文,mysql默认的字符集是拉丁文,不支持中文,必须要在创建数据库的时候,手动指定编码方式为支持中文编码(GBK , UTF8)在查询的时候,写作由列名构成的表达式,把这一列中的所有行都带入到表达式中,参与运算。

2026-03-23 03:30:21 405

原创 【MySql】navicat连接报2013错误

在不同的Linux系统下,my.cnf放在不同的位置。这里以CentOS8 Server做示例,其他系统请根据情况自行找到my.cnf的路径。但是我的配置文件并没有配置这一句,各种搜索均也没有解决问题。但是在别人连接成功的配置文件里发现了一个不同的配置语句。在前面加上#注释掉,然后加入通过键盘的左右键移动到最前面。根据这个错误提示,这是连接初始化阶段就丢失了连接的错误。我们需要通过键盘里的上下键来移动,游标找到。用vim打开配置文件,我的配置文件路径是。查看mysql数据库中所有的表。

2026-03-22 05:03:51 213

空空如也

空空如也

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

TA关注的人

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