自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2026-03-28 12:49:43 207

原创 SpringBoot下获取resources目录下文件的常用方法

不想折腾的同学可以直接用method3和method4的方法来使用,也可以将模板和资源文件外置,通过绝对路径获取对应文件。有好的方法也欢迎大家一起交流沟通~

2026-03-28 08:41:24 185

原创 Nginx(搭建高可用集群)

注意:这里由于tomcat1在主Nginx上,一旦主Nginx崩溃,则这个tomcat就不可用,所以才需要在从Nginx也搭建一份,如果部署在独立主机上就不需要,就像这个tomcat2。

2026-03-27 13:39:43 345

原创 Java进阶-SpringCloud设计模式-工厂模式的设计与详解

工厂模式定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂模式主要有三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。

2026-03-27 09:34:11 211

原创 MySQL的底层原理与架构

了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。

2026-03-26 03:52:53 316

原创 Golang 构建学习

Web开发虽然可以用多种不同的语言实现,但是基本的理论是一致的,比如鉴权,路由,数据库抽象,参数校验,mvc分层等等。第三个括号是输出参数的声明,注意这个没有向上面例子中提前声明返回值变量,需要在函数体中。函数如果是在模块内部,也就是同一个package目录下,则不同导入,直接调用就行。与以上雷同,区别在于返回值,如果两个相同类型的返回值,则可以采用省略的写法。引用传递: 函数中使用的是指向值的指针地址,通过函数修改传递的数据。值传递:函数中使用的是被复制的值,不影响外部数据。第二个括号是输入参数的声明。

2026-03-26 00:47:25 350

原创 Redis为什么这么快?Redis的线程模型与Redis多线程

多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,然后程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。在redis的多线程模式下,获取、解析命令,以及输出结果着两个过程,可以配置成多线程执行的,因为它毕竟是我们定位到的主要耗时点,但是命令的执行,也就是内存操作,依然是单线程运行的。

2026-03-25 15:44:07 334

原创 Nginx在windows下安装启动

更改文件后要重新启动程序,才可运行,且除了80可以不写端口,其他都需要编写端口号。logs:存放Nginx日志的目录(登录的ip地址,正在运行的进程pid号)下载稳定版本,下载的为压缩包,解压到桌面,如图为1.26.2版本解压后文件。nginx:启动nginx程序,点击即可启动nginx程序。输入本机ip地址,点击浏览器浏览本机网址即可查看运行页面。docs:存放Nginx文档的目录(license)html:存放静态html文件的目录(登录的网页)nginx为应用程序,点击即可启动无其他画面。

2026-03-25 14:29:24 43

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

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

2026-03-24 14:30:28 159

原创 Spring事务(Transaction)

编程式对事物控制的细粒度更高,我们能够精确的控制事务的边界,事务的开始和结束完全取决于我们的需求,但这种方式存在一个致命的缺点,那就是事务规则与业务代码耦合度高,难以维护,因此我们很少使用这种方式对事务进行管理。但完全的事务隔离会导致性能问题,而且并不是所有的应用都需要事务的完全隔离,因此有时应用程序在事务隔离上也有一定的灵活性。隔离性(Isolation):一个事务的执行不能被其它事务干扰,即一个事务内部的操作及使用的数据对并发的其它事务是隔离的,并发执行的各个事务之间不能互相打扰。

2026-03-24 04:02:39 280

原创 Redis基础——1、Linux下安装Redis(超详细)

最重要的是:ExecStart=/usr/local/bin/redis-server /usr/local/bin/redisconfig/redis.conf这个,这里指定了redis-server的配置文件。我们安装的是linux版本的redis,这里用的是云服务器所以需要远程连接,这里使用的是xshell连接到服务器,没有服务器的话也可以使用虚拟机,这里不过多赘述。本文中安装的版本为:http://download.redis.io/releases/redis-7.0.5.tar.gz。

2026-03-23 11:05:57 371

原创 MySQL 查看有哪些表

这两种方法都可以有效地列出指定数据库中的所有表。选择哪种方法取决于你的具体需求和偏好。命令行工具、MySQL Workbench 等)连接到你的 MySQL 服务器。是一个系统数据库,包含了关于所有其他数据库的信息。首先,你需要使用 MySQL 客户端工具(如。命令选择你要查看表的数据库。表来获取特定数据库中的表信息。

2026-03-23 03:10:30 11

原创 【HTML+CSS】使用HTML与后端技术连接数据库

HTML负责构建网页的骨架,提供用户交互的表单等元素。用户通过表单输入数据,并通过表单的提交(submit)事件将数据发送到后端。

2026-03-22 04:38:13 241

原创 ShardingSphere-jdbc 5.5.0 + spring boot 基础配置 - 实战篇

shardingsphere 5.5.0移除了sm4算法,两种方式解决:1、使用官方shardingpshere plugin,找到相关组件依赖引用即可,2、自己添加sm4算法代码SPI实现。版本加密算法接口升级了,以下sm4的SPI代码不适用,后续推出适配版本)。增加spi扩展SM4算法代码/***/static {@Getter@Override。

2026-03-22 01:27:57 230

原创 navicat15安装破解

然后点击Patch按钮,找到Navicat Premium 15安装路径下的navicat.exe,选中并点击打开,此时会提示:navicat.exe – x64 -> Cracked,提示已破解。4、将Navicat手动激活窗口的请求码框中内容复制到注册机Request Code框中,点击Activation Code下面的Generate按钮。3、现在打开Navicat Premium 15,点击注册(或菜单栏的帮助——》注册),输入上一步生成的注册码,然后点击激活,紧接着点手动激活。

2026-03-21 05:15:35 14

原创 Navicat 连接 SQL Server 详尽指南

Navicat 是一款功能强大的数据库管理工具,它提供了直观的图形界面,使用户能够轻松地管理和操作各种类型的数据库,包括 SQL Server。本文将详尽介绍如何使用 Navicat 连接到 SQL Server 数据库,包括安装设置、连接配置、常见问题排查及高级功能使用。

2026-03-21 05:14:45 345

原创 【prometheus】监控MySQL并实现可视化

mysqld_exporter 是一个用于监控 MySQL 服务器的开源工具,它是由 Prometheus 社区维护的一个官方 Exporter。该工具通过连接到 MySQL 服务器并执行各种查询来收集关于 MySQL 服务器性能和状态的指标,并将这些指标暴露给 Prometheus 监控系统。mysqld_exporter 通过执行 SQL 查询来收集关于 MySQL 服务器的各种指标,包括查询性能、连接状态、InnoDB 状态、复制状态等。Prometheus 兼容。

2026-03-20 02:56:01 373

原创 SQL 中UPDATE 和 DELETE 语句的深入理解与应用

在 SQL 中,UPDATE和DELETE语句是用于操作表数据的重要工具,它们允许我们对已存在的数据进行修改和删除。

2026-03-20 00:34:09 158

原创 Springboot3 Mybatis-plus 3.5.9

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

2026-03-19 02:54:50 255

原创 Redis安装教程(Windows版本)

1、首先打开配置文件redis.windows.conf ,找到 requirepass 属性,设置密码为123456。1可以Win + R,输入service.msc 进入到服务列表,找到 Redis 服务。3、将 Redis 注册为系统服务,系统可以在启动时自动启动 Redis,无需手动启动。这里使用压缩包安装方式,压缩包安装解压即可无需安装,但是需要自己动手配置。然后编辑系统变量Path,新建%REDIS_HOME%,一路确定即可。2、为了方便,不再输入路径,配置环境变量。

2026-03-19 00:30:29 250

原创 python的sql解析库-sqlparse

sqlparse的__init__方法中提供了四个基础方法用于将一个或多个 SQL 语句的字符串解析成 Python 对象,这些对象构成了一个抽象语法树(AST)源码按照符号分割sql后返回一个元组, 可以递归获取所有的值2.format(sql)格式化代码, 返回格式化后的代码字符串源码:参数说明:sql: 需要格式化的 SQL 语句字符串。reindent=True: 自动重新缩进 SQL 语句,使代码块对齐。keyword_case=‘upper’: 将 SQL 关键字转换为大写。可选值有

2026-03-18 13:14:36 355

原创 Nginx中$http_host、$host、$proxy_host的区别

变量是否显示端口值是否存在host浏览器请求的ip,不显示端口否"Host:value"显示值为a:b的时候,只显示ahttp_host浏览器请求的ip和端口号是“Host:value”,value存在就显示proxy_host被代理服务的ip和端口号默认80不显示其他端口显示"Host:value"显示配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com);

2026-03-18 11:59:13 22

原创 MySQL 常用 SQL 语句大全

这些 SQL 语句和技巧覆盖了数据库操作的广泛领域,从基础查询到高级管理和优化。掌握这些可以帮助你更高效地管理和操作 MySQL 数据库。使用 GROUP_CONCAT 函数。删除表中的所有记录(也叫截断表)内连接(INNER JOIN)右连接(RIGHT JOIN)基于其他表的更新(关联更新)左连接(LEFT JOIN)全连接(FULL JOIN)在 WHERE 子句中。计算字段的平均值和总和。在 FROM 子句中。查看当前的数据库状态。

2026-03-17 03:33:13 157

原创 Docker搭建redis集群

当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,也就是映射到某个节点上。–cluster-replicas 1 表示集群主节点需要多少个从节点,我们用了6台,即3台服务器构成集群,每台服务器设置1台从服务器。4.1 进入端口为6381的容器,新增两个key,这里需要加-c,集群操作,可以将key-value放入其他容器中。

2026-03-17 00:54:18 229

原创 详解 为什么 tcp 会出现 粘包 拆包 问题

TCP 作为字节流协议,天然会遇到粘包和拆包问题。因为 TCP 不关心数据的边界,它只关心字节流的连续性,因此多个应用层的小数据包可能会被合并成一个 TCP 包,或者一个大数据包会被拆分成多个 TCP 包。为了解决这些问题,应用层需要通过定长数据包、消息头+消息体、分隔符或其他自定义协议来明确数据包的边界。

2026-03-16 22:40:37 308

原创 电池管理系统(BMS)架构详细解析:原理与器件选型指南

整个BMS架构的设计目的是监控电池的状态,保证电池在安全的工作范围内进行充放电,同时通过各种电气隔离技术保护低压电路,确保系统稳定性。其主要功能包括电池电压、电流、温度的实时监控,过压、过流、过温等异常情况的保护,以及通过通信接口与外部设备进行数据交换。保护与隔离:通过隔离器和光耦实现高压部分与低压控制部分的隔离,确保系统安全。MOSFET的选择:根据电池的充放电电流选择低导通电阻和高耐压的MOS器件。控制器的选择。

2026-03-16 22:08:45 411

原创 VS Code 中如何运行Java SpringBoot的项目

以上是如何在VSCode中配置和运行Java Spring Boot项目的完整指南。安装必要的扩展,配置调试环境,并通过命令行或VSCode内置工具运行和调试Spring Boot应用,可以提升你的开发效率。

2026-03-15 02:57:18 414

原创 Springboot的jak安装与配置教程

打开终端应用程序,可以通过Finder中的“应用程序” > “实用工具”找到。如果你不确定使用哪个shell,可以通过在终端输入。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。打开命令提示符(CMD),可以通过在搜索栏输入。对于nano编辑器,你可以按。对于nano编辑器,你可以按。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。

2026-03-15 00:23:08 176

原创 Spring.factories

在 Spring Boot 项目中,怎样将 pom.xml 文件里面添加的依赖中的 bean 注册到 Spring Boot 项目的 Spring 容器中呢?你可能会首先想到使用@ComponentScan 注解,遗憾的是 @ComponentScan 注解只能扫描 Spring Boot 项目包内的 bean 并注册到 Spring 容器中,项目依赖包中的 bean 不会被扫描和注册。此时,我们需要使用 @EnableAutoConfiguration 注解来注册项目依赖包中的 bean。

2026-03-14 18:47:51 322

原创 Spring Boot 整合 Keycloak

本文介绍了如何如何设置了 Keycloak 服务器,以及如何在 Spring Boot 中使用 Spring Security OAuth2.0 结合 Keycloak 实现认证和授权。

2026-03-14 17:43:33 329

原创 Springboot中CommandLineRunner的用法以及执行顺序的控制

在 Spring Boot 应用程序中,所有实现了 `CommandLineRunner` 接口的 `@Component` 类的 `run` 方法并不是严格保证顺序串行执行的。在这个示例中,通过 `@Order` 注解设置了 `FirstRunner` 和 `SecondRunner` 的执行顺序,`FirstRunner` 的 `run` 方法会在 `SecondRunner` 的 `run` 方法之前执行。这使得开发人员能够方便地在应用程序启动后执行一些必要的操作。// 在应用程序启动后执行的逻辑。

2026-03-13 22:10:46 182

原创 深入探索Spring Cloud Gateway:微服务网关的最佳实践

API网关是一个反向路由,屏蔽内部细节,为调用者提供统一入口,接收所有调用者请求,通过路由机制转发到服务实例。API网关是一组“过滤器Filter”集合,可以实现一系列与核心业务无关的横切面功能,如安全认证、限流熔断、日志监控。

2026-03-13 02:44:46 200

原创 使用python进行PostgreSQL 数据库连接

使用commit()将数据发送到数据库服务器,最后使用close()关闭数据库。PostgreSQL 数据库是最常用的关系型数据库之一,最吸引人的一点是它作为开源数据库且具有可拓展性,能够提供丰富的应用。运用python可以很简单的建立PostgreSQL 数据库连接,其中最受欢迎的就是psycopg。Psycopy是针对python的Postgres 数据库的适配模块,安装psycopg2可以整合python和Postgres。创建数据库连接后点击apply,数据库会显示在右侧窗格中。

2026-03-12 12:39:08 170

原创 【MySQL】to_date()日期转换

TO_DATE()是一个在 SQL 中广泛使用的函数,用于将字符串转换为日期格式。不同的数据库系统(如 Oracle、SQL Server、PostgreSQL、MySQL 等)对TO_DATE()函数的支持和语法可能有所不同,但基本思想是一致的:将一个表示日期和/或时间的字符串转换为数据库可以识别的日期类型。

2026-03-12 10:16:13 174

原创 Spring 中的依赖注入

通过 setter 方式注入。

2026-03-08 18:22:19 9

原创 Spring Cloud GateWay搭建

注册中心,常用的有:Eureka、Consul、Zookeeper、Nacos,此处要明白一点是注册中心本身就是一个服务,所以对注册中心而言,不仅仅局限于java编写的,也存在于是其他语言编写,本质是一个server软件,只需要满足注册中心的功能即可。注册中心服务已启动完毕,接下来启动两个微服务作为注册中的client。针对两个服务各自创建两个控制层接口,顺便在配置文件中定义下服务的请求上下文路径。简单搭建一个,有注册中心,两个微服务,一个网关的组成的微服务架构。此时证明我们的注册中心服务以启动完毕!

2026-03-08 18:08:34 232

空空如也

空空如也

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

TA关注的人

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