自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql实用系列日期格式化

如果你有一个非日期时间类型的字段,但你知道它包含的是日期或时间信息,你可能需要先将其转换为 DATETIME 类型,然后再使用 DATE_FORMAT() 函数。如果你尝试对一个非日期时间类型的字段使用 DATE_FORMAT(),比如 INT 或 VARCHAR,MySQL 会返回一个错误,因为它无法将这些类型的数据解释为日期或时间。这里,STR_TO_DATE() 函数将字符串转换为 DATETIME 类型,然后 DATE_FORMAT() 函数将其格式化为所需的格式。函数的一些基本用法。

2026-02-15 09:07:03 154

原创 MySQL--》如何在MySQL中打造高效优化索引

2)select_type:表示select的类型,常见的取值有simple(简单表,即不使用表连接或者子查询)、primary(主查询,即外层的查询)、union(union中的第二个或者后面的查询语句)、subquery(select/where之后包含了子查询)等。(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

2026-02-15 07:19:23 894

原创 MacOS升级ruby版本

但是如果我们使用“ruby -v”查看版本,发现使用的还是MacOS自带ruby版本是2.x。homebrew安装的ruby版本号可以通过“brew info ruby”命令参看。MacOS自带ruby版本是2.x,可以通过“ruby -v”查看版本号。如果没有安装,可以“brew install ruby”进行安装。或者通过“brew install ruby”进行升级。再次使用“ruby -v”查看一下版本。

2026-02-15 05:34:13 156

原创 JAVA进阶 THREAD学习12 多线程小结

I/O密集型应用,为了提高性能,将I/O操作重叠。线程可以同时等待不同的I/O操作。计算密集型应用,为了能在多处理器系统上运行,将计算分解到多个线程中实现。首先有前面的分析得出多线程的安全问题是由共享资源的修改混乱导致的。与进程之间的切换相比,线程之间的切换需要操作系统做的工作要少很多。在等待慢速I/O操作结束的同时,程序可执行其他的计算任务。创建一个新线程的代价要比创建一个新进程小得多。能充分利用多处理器的可并行数量。线程占用的资源要比进程少很多。

2026-02-15 03:48:12 130

原创 docker网络模式及配置

接下来就要为容器分配IP了,docker会从RFC1918所定义的私有IP网段中,选择一个和宿主机不同的IP地址和子网分配给docker0,连接到docker0的容器就从这个子网中选择一个未占用的IP使用。但是,容器的其他方面,如文件系统、进程列表等还是和宿主机隔离的。docker容器在启动时默认使用的是bridge模式,docker容器启动后,会连接到一个名为 docker0 的虚拟网桥,故每次启动docker容器的IP都不是固定的,不方便管理,有时候需要进行固定IP映射,比如docker集群管理时。

2026-02-15 02:02:42 343

原创 数据库Redis数据库

Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库即非关系数据库。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。2、Redis命中机制和淘汰机制。

2026-02-14 09:50:35 1039

原创 保姆级JavaWeb项目创建、部署、连接数据库(tomcat)

本学期学的javaweb,记录一些本篇大致内容就是:部署tomcat–创建项目—连接mysql数据库运行环境:tomcat-8.5.46、JDK1.8、mysql80(也写了mysql57的设置)

2026-02-12 02:21:25 572

原创 【Golang】——Gin 框架中间件详解:从基础到实战

中间件是一种拦截 HTTP 请求的处理机制,通常用于在请求到达最终处理函数之前进行操作。通过中间件可以进行认证、日志记录、错误处理等操作,并且可以控制请求是否继续传递给下一个中间件或路由处理函数。在 Gin 中,自定义中间件可以通过定义一个类型的函数来实现。// 请求前println("请求开始")// 继续到下一个中间件或处理函数c.Next()// 请求后println("请求结束")// 全局应用中间件})当访问/ping。

2026-02-12 01:35:21 262

原创 【Spring】Spring MVC案例

在上一篇中,我们讲解了什么是分层架构、三层架构,那么本篇,我们就使用三层架构来对案例进行分层。理解前后端交互过程;接口传参,数据返回,以及页面展示。请求路径:calc/sum请求方式:GET/POST接口描述:计算两个数相加请求参数响应数据**响应内容:**计算结果用户输入账号和密码,后端进行校验密码是否正确。如果不正确,前端进行告知;如果正确,就跳转到首页,首页显示当前登录用户的账号;后序再访问首页,可以获取到登录用户信息。校验接口请求路径:/user/login。

2026-02-11 03:38:17 399

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

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

2026-02-11 01:17:57 227

原创 Windows操作系统部署Tomcat详细讲解

如果修改为小于1024的端口(如80),在Linux和macOS系统中可能需要以管理员权限运行Tomcat,因为这些端口是特权端口。Tomcat是一个开源的Java Servlet容器,用于处理Java Web应用程序的请求和响应。文件中,可以修改Tomcat监听的端口。文件中配置虚拟主机,使得Tomcat能够根据不同的域名来提供不同的Web服务。表示当应用程序的类文件或配置文件发生变化时,Tomcat会自动重新加载应用程序。),当用户访问不同的域名时,Tomcat会根据虚拟主机的配置提供相应的服务。

2026-02-10 03:43:23 419

原创 SQL 注入详解:原理、危害与防范措施

SQL注入是一种常见的安全漏洞,攻击者通过在应用程序中插入恶意的SQL代码,诱使数据库执行非授权的操作。这种攻击通常发生在应用程序没有正确过滤或转义用户输入的情况下,导致攻击者能够操控数据库查询,从而获取、修改或删除数据。SQL注入是一个严重的安全问题,开发者必须采取有效措施来预防。使用预编译语句、严格验证用户输入、遵循最小权限原则等都是防范SQL注入的有效手段。此外,定期的安全审查和测试也是保障应用安全的重要环节。通过这些措施,可以大大降低SQL注入的风险,保护应用程序和用户数据的安全。

2026-02-10 01:23:21 305

原创 SpringMVC(看这一篇就够了)

MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分:Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中,JavaBean对象,业务模型等都属于Model。View(视图):用于展示模型中的数据的,一般为jsp或html文件。Controller(控制器):是应用程序中处理用户交互的部分。接受视图提出的请求,将数据交给模型处理,并将处理后的结果交给视图显示。

2026-02-09 23:16:17 962

原创 SpringBoot实现图形验证码

目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获取验证码验证码校验调整前端代码随着安全性的要求越来越高,目前许多项目中都使用了验证码,验证码也有各种类型,如 图形验证码、短信验证码、邮件验证码、人脸识别等,这些不同类型的验证码可以根据实际需求和安全性要求进行选择和应用,保护网站和用户免受恶意攻击在本篇文章中,我们来学习图形验证码的实现验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用 Hutool

2026-02-09 22:29:31 820

原创 Spring 中使用Mybatis,超详细

UserMapper接口的作用是告诉mybatis您要对数据库执行那些操作。具体实现类由Spring AOP完成。其中执行的SQL语句可以通过Mappser.xml配置,也可以在这里使用注解配置。我这里仅定义了几个简单的增删改查。@Mapper@Results({@Result(property = "name", column = "nickname"), // 指定属性名和列名的映射关系})

2026-02-08 05:49:59 627

原创 Nginx代理到https地址忽略证书验证配置

当proxy_ssl_server_name设置为on时,Nginx会在与后端服务器建立SSL/TLS连接时,使用请求头中的Host字段值作为SNI(Server Name Indication)的一部分。这意味着每次Nginx与后端服务器建立连接时,都会进行完整的SSL/TLS握手过程,这可能会增加延迟和服务器负载。如果proxy_ssl_server_name未设置或设置为off,Nginx将不会使用Host头部值作为SNI的一部分,这可能会导致SSL/TLS握手失败,特别是当后端服务器期望SNI时。

2026-02-08 03:31:38 339

原创 Spring Boot 3.X:Unable to connect to Redis错误记录

IOC容器中的Spring为我们自动配置的RedisConnectionFactory的clientOptions.protocolVersion仍然是null,但是此时Redis已经可以正常连接上了,说明Lettuce 6.5.0已经解决了认证连接bug。这种方法就比较简单粗暴了,既然“spring-boot-starter-data-redis”提供的lettuce依赖版本为6.4,那我们就不用它提供的了,自己引入版本为6.5的lettuce依赖。于是我先去检查了配置文件的连接信息,发现没问题;

2026-02-07 03:39:03 327

原创 Redis6.2.6下载和安装

Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库、缓存和消息代理。Redis 提供了数据结构,例如字符串、散列、列表、集合、带有范围查询的排序集合、位图、超级日志、地理空间索引和流。Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性内容抄自官网。

2026-02-07 01:47:03 228

原创 MySQL常用的关键字(详细)

使用小写字母书写关键字是SQL的常见约定,有助于提高代码的可读性。datetime 日期和时间组合数据类型。varchar 可变长度字符串数据类型。where 用于过滤查询结果的条件。having 用于过滤分组后的结果。order by 指定结果集的排序。else 用于条件语句中的其他情况。limit 限制查询返回的记录数。update 更新表中的现有记录。create 创建新的数据库对象。into 指定插入数据的目标表。values 指定插入数据的值。set 指定要更新的列及其新值。

2026-02-06 02:56:06 243

原创 Mysql 驱动程序

MySQL 驱动程序是连接应用程序与 MySQL 数据库的重要组件。根据不同的编程语言和应用场景,MySQL 提供了多种驱动程序,包括 MySQL Connector/J(Java)、MySQL Connector/Python(Python)、MySQL Connector/NET(.NET)、MySQL Connector/C++(C++)、MySQL ODBC 驱动程序等。这些驱动程序简化了数据库操作,提高了性能,并增强了安全性。

2026-02-06 01:47:12 300

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

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

2026-02-05 10:08:38 161

原创 Go Web框架全面对比:哪一款最适合你的项目?

如果你需要构建高性能的RESTful API,并且希望框架简单易用,Gin和Echo是最佳选择。如果你的应用需要实时通信(如WebSocket),Fiber是一个极好的选择,它在性能和开发体验上都表现出色。对于企业级应用或需要MVC架构的项目Beego提供了一个完整的解决方案。如果你正在构建微服务架构,且需要高度灵活的路由和中间件支持,Chi是非常合适的选择。每种框架都有其适用的场景,了解框架的特点和使用场景,可以帮助你更高效地完成Web开发任务。

2026-02-05 02:18:10 386

原创 使用 Spring Boot 实现图片上传

在现代 web 开发中,图片上传功能是一个常见的需求。本文将介绍如何使用 Spring Boot 实现一个简单的图片上传功能,包括文件的上传、存储和展示。我们将使用 Spring Boot 的文件上传功能,并结合 Thymeleaf 作为模板引擎来构建前端界面。通过上述步骤,我们成功实现了一个简单的图片上传功能。你可以根据自己的需求进一步扩展功能,比如增加文件类型和大小的限制、支持多文件上传、实现文件的删除功能等。希望这个示例能帮助你在项目中实现图片上传功能!

2026-02-04 21:24:27 481

原创 【SpringBoot】SpringBoot优雅停机机制

拒绝新请求:关闭过程开始后,系统不再接收新的用户请求。完成当前请求:对已接收的请求完成处理,避免突然中断。资源清理:在停机前,释放各种资源(数据库连接、线程池等),保证系统的状态完整性。优雅停机的核心是提供一种“无感知”的下线体验,让用户和系统都能安全退出。如果需要在停机时执行特定的清理操作,比如关闭数据库连接或停止线程池,可以通过添加或实现接口。@Component@OverrideSystem.out.println("关闭数据库连接...");

2026-02-03 04:03:04 400

原创 【JavaEE】Spring Boot 项目创建

src/main/java: Java 源代码src/main/resources: 为静态资源或配置件:/static:静态资源件夹, 如前期学的js, css, html等静态件,不需要服务器数据进绑定的/templates:模版资源件夹, 主要存放动态模板件, 如JSP, Freemarker, Thymeleaf等需要服务器动态渲染数据的件src/test/java: 测试代码源代码除了下面的文件,其他都可以删了。状态码:Http请求的处理结果200:成功2XX 成功。

2026-02-03 01:49:08 350

原创 SQL进阶——JOIN操作详解

如果某个表中的行在另一个表中没有匹配的行,那么这些行将不会出现在查询结果中。在实际开发中,我们经常需要执行更复杂的查询,例如多表连接查询和子查询。与普通的子查询不同,关联子查询是指在子查询中使用主查询中的列作为条件。在每一行中,子查询都会使用不同的主查询行数据。子查询的结果通常用于限制主查询的结果集,或者作为表的输入。查询所有的员工和部门信息,不论员工是否有部门,或者部门是否有员工。有多种类型,不同的连接方式根据连接条件的不同展现出不同的结果。表的连接中,我们查询所有部门信息,即使某些部门没有员工。

2026-02-02 02:36:53 551

原创 SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由

前面分别对 Spring Cloud Zuul 与 Spring Cloud Gateway 进行了简单的说明,它门是API网关,API网关负责服务请求路由、组合及协议转换,客户端的所有请求都首先经过API网关,然后由它将匹配的请求路由到合适的微服务,是系统流量的入口,在实际生产环境中为了保证高可靠和高可用,尽量避免重启,如果有新的服务要上线时,可以通过动态路由配置功能上线。本篇拿 Spring Cloud Gateway 为例,对网关的动态路由进行简单分析,下一篇将分享动态路由的进阶实现。

2026-02-02 01:23:03 396

原创 Spring boot 3.3.1 官方文档 中文

本节简要概述了 Spring Boot 参考文档。它用作文档其余部分的映射。

2026-02-01 01:02:30 328

原创 Redis——Windows安装

redis-server.exe --service-install redis.windows.conf --Service-name RedisServer2 --loglevel verbose --port 6380,这样也是指定端口安装。进入Redis安装包文件下,注册服务:redis-server.exe --service-install redis.windows.conf --Service-name RedisServer1 --loglevel verbose。

2026-01-31 23:46:45 532

原创 PHP搭建开发环境(Windows系统)

要搭建一个完整的PHP动态网站,离不开操作系统、Web服务器、数据库、和PHP软件。虽然有不错方便的方式,比如使用phpstudio等等等等许多面板都是非常快速不错的方式,但是这里是教会大家如何配置而不只是依赖别人整合好的面板软件,有时就会发挥出用处。以下是本文章的所采用的大概配置。

2026-01-31 22:59:50 920

原创 IP地址、子网掩码(NETMASK)和网关(Gateway)

IP地址、子网掩码(NETMASK)和网关(Gateway)是计算机网络中用于定位和通信的关键元素。

2026-01-28 23:28:14 378

原创 HeidiSQL导入与导出数据

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

2026-01-28 23:25:15 149

空空如也

空空如也

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

TA关注的人

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