自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot-自定义注解

第一步:定义注解第二步:配置注解第三步:解析注解int age();String sex() default "女";注意:自定义注解要用【@interface】在自定义注解中,其实现部分只能定义注解类型元素!说明:a.访问修饰符必须为public,不写默认为public;b.该元素的类型只能是基本数据类型、String、Class、枚举类型、注解类型以及一维数组;c.该元素的名称一般定义为名词,如果注解中只有一个元素,名字起为value最好;

2026-05-03 21:01:39 320

原创 Redis的优势和特点

Remote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

2026-05-03 19:28:50 353

原创 Nginx 配置前端后端服务

在配置Nginx以支持前端和后端服务时,需要了解Nginx的基本配置语法和结构,并依次设置Nginx作为前端静态资源服务器和反向代理服务器以连接后端应用。

2026-05-03 17:57:41 155

原创 MySQL 数据增删改查

PS:连接查询涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健。PS:左连接和右连接就是分别以表1和表2为基表,返回左(右)表中所有记录及连接表中符合条件的记录的外连接。PS:ASC是降序,DESC是升序,在不写明是ASC还是DESC的情况下,默认是ASC降序。连接查询是将多张表中记录按照指定的条件进行连接的查询方式。定义:子查询是在一个查询的内部包括另一个查询的查询方式。如何查看班级同学的平均身高?

2026-05-03 16:27:34 373

原创 idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

2.MyBatis配置文件: 如果你使用的是MyBatis,确保MyBatis的配置文件(比如mybatis-config.xml)正确配置,并且位于正确的位置。如果以上步骤都没有解决问题,可以尝试在你的应用程序中创建一个自定义的SqlSessionFactoryBean(如果没有的话)并手动配置,确保正确的MyBatis配置被应用。3.Mapper扫描配置: 如果你使用了@MapperScan注解,确保它的basePackages属性正确指定了你的Mapper接口所在的包。以上是一些可能的情况的整合。

2026-05-03 14:55:29 360

原创 MySQL中的CASE WHEN语句:用法、示例与解析

在SQL查询语句中,CASE语句是一个强大的条件表达式工具,它可以实现复杂的逻辑判断和计算,尤其是在MySQL数据库中。CASE WHEN结构允许开发者根据不同的条件执行不同的操作,类似于编程语言中的if-else语句。本文将详细介绍MySQL中CASE WHEN的两种基本用法及其实际应用。

2026-05-02 21:59:10 194

原创 Linux安装RabbitMQ

RabbitMQ 管理界面中的顶部标签(OverviewChannelsExchangesAdmin)提供了对 RabbitMQ 集群的不同方面的管理和监控功能。1. Overview(概览)功能:提供 RabbitMQ 集群或单个节点的总体运行状态。显示有关队列、交换机、连接、通道等的统计信息。包含的主要信息:Totals:队列中的消息总数、消息速率(每分钟发布/确认/投递的消息数量)。Nodes:显示所有节点的资源使用(内存、磁盘、CPU、Erlang 进程等)。

2026-05-02 20:48:13 378

原创 Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像

78.56 MBopenjdk二进制下载地址Dockerfile中,source /etc/profile不能加载的原因为什么还需要选择使用他的原因:三 中,tomcat普通用户交互式启动tomcat#在 Docker 容器中,/etc/profile 文件不会在容器启动时自动执行,这是因为 Docker 容器通常不会启动交互式登录 shell,而是直接运行指定的命令。

2026-05-02 19:32:33 417

原创 Mysql疑难报错排查 - Field ‘XXX‘ doesn‘t have a default value

既然说的是没有默认值,那我们就在插入的时候指定传null 进去即可,由于MyBatisPlus的特性,所以最终在DBclass层,为end_time1和end_time2都设置为null 也插入和更新。某一个插入语句使用了 MyBatisPlus 的 save 方法,因为end_time1 end_time2都并没有值,所以在MyBatisPlus默认情况下,并不会在插入语句中提及,一般情况下,这种报错是表设置成非空字段,我们又没设置默认值导致的。但是这里我们明明表中设置了可空。修复后没有再次报错。

2026-05-01 19:59:55 142

原创 mysqld error while loading shared libraries libcrypto.so.3 cannot open shared object file No suc

安装或升级到 OpenSSL 3.0。确保文件在系统中正确存在,并且 MySQL 能够找到它。如果问题持续存在,可以尝试重新安装 MySQL 或 MariaDB,确保依赖的库被正确配置。

2026-05-01 19:11:03 177

原创 MS SQL Server 实战 排查多列之间的值是否重复

比如我们有一组题库数据,主要包括题目和选项字段(如单选选择项或多选选择项),一个合理的数据存储应该保证这些选项列之间不应该出现重复项目数据,比如选项A不应该和选项B的值重复,选项B不应该和选项C的值重复,以此穷举类推,以保证这些选项之间不会出现重复的值。在实际的应用中每一个环节我们都难免会出现一些失误,因此不断的根据实际的发生情况总结经验,通过计算来分析,将问题扼杀在摇篮里,以最大保证限度的保证项目运行效果的质量。如图我们假设设计了错误的数据源,第4题的A选项与D选项重复,第8题的A选项与C选项重复了。

2026-05-01 18:20:27 379

原创 Java进阶06List集合&泛型

在内存中不是连续的,每个结点有自己的存储地址,包含其存储的具体数据值和下一个结点的地址。见名知义,单链表即链接方向是单向的,对链表的访问要通过顺序读取从头部开始。**注意:**next()方法每调用一次,迭代器指针会后移一位,就会把不同集合元素的信息拼接到一起打印,为了避免这种信息错乱,增强for循环是JDK5之后出现的,其内部原理就是一个Iterator迭代器,它简化迭代器的代码书写,是迭代器遍历的语法糖。接口中的某个抽象方法确定不了参数的具体类型,就可以声明泛型,让该方法的泛型去匹配接口的泛型。

2026-05-01 17:30:41 398

原创 Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像

78.56 MBopenjdk二进制下载地址Dockerfile中,source /etc/profile不能加载的原因为什么还需要选择使用他的原因:三 中,tomcat普通用户交互式启动tomcat#在 Docker 容器中,/etc/profile 文件不会在容器启动时自动执行,这是因为 Docker 容器通常不会启动交互式登录 shell,而是直接运行指定的命令。

2026-05-01 16:41:44 209

原创 将 vue3 项目打包后部署在 springboot 项目运行

服务端需要增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个index.html页面,这个页面就是你 app 依赖的页面。检查前端的 vue-router 使用历史模式还是哈希模式,历史模式(HTML5 模式)需要后端额外配置,配置参考上文。在 vite.config.js(.ts) 设置开发或生产环境服务的公共基础路径(base配置项),这里不使用相对路径。检查 index.html ,查看 script 和 link 标签的地址,应该是绝对路径(不含./)

2026-04-22 13:12:58 308

原创 华为网络设备配置文件备份与恢复(上传、下载、导出,导入)

在日常运维工作中,会经常存在网络割接的情况,为了保证网络割接失败时能重新回退至原有配置,从而不影响原有的办公环境,在网络割接前的备份工作就非常有必要了。通过将网络设备设置为FTP服务器,然后用PC端和其连接,从而将配置文件进行下载上传。步骤四:重启设备,第一个选项选择N,第二个选项选择Y。备份技术:PC客户端<—>FTP服务器(网络设备)在路由器或交换机的aaa认证上配置FTP服务。

2026-04-22 12:20:47 46

原创 MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换

在MySQL中,经常需要在DATETIMESTAMP和字符串之间进行相互转换。

2026-04-22 03:48:43 224

原创 Linux下启动redis

①设置redis.conf中daemonize为yes,确保守护进程开启,也就是在后台可以运行。1:可用安装文件启动:redis-server /etc/redis/6379.conf。使用这种启动方式需要一直打开窗口,不能进行其他操作,按 ctrl + c可以关闭窗口。①将redis自带的脚本复制到指定目录(/etc/init.d/)的redis文件。②修改(/etc/init.d/)redis文件。②指定redis.conf文件启动。③关闭redis进程。

2026-04-22 02:21:07 190

原创 Docker部署Spring Boot + Vue项目

本文的Spring Boot + Vue项目采用若依前后端分离版项目为例,使用Docker部署项目,当然读者如果使用自己的Spring Boot + Vue项目也可以,Docker部署方法一样。

2026-04-22 00:53:21 357

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

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

2026-04-21 11:16:57 346

原创 springboot与springcloud以及springcloudalibaba版本对照

由于 Spring Boot 2.4+ 和以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 2.4 为分界线,同时维护 2.2.x 和 2021.x 两个分支迭代。为了规避相关构建过程中的依赖冲突问题,我们建议可以通过 云原生应用脚手架 进行项目创建。2.0.4.RELEASE(停止维护,建议升级)1.5.1.RELEASE(停止维护,建议升级)

2026-04-21 08:57:53 301

原创 Redis开启远程访问

此外,若是新版本(3.2之后)的还得修改一下redis的保护模式,同在redis.conf文件下。Redis默认只允许本地访问,若要redis可以远程访问,得先修改。在redis安装目录下找到redis.conf文件并打开。Warning是提醒在命令上输入密码是不安全的。(若是windows环境下,该配置文件名称为。

2026-04-21 06:38:37 25

原创 MySQL的索引详细介绍(全网最详细!!!)

索引是帮助MySQL高效获取数据的数据结构MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们就可以通过数据结构上实现的高级查找算法来快速找到我们想要的数据。而这种数据结构就是索引。MysQL 的慢查询日志是MySQL提供的一种日志记录,他用来记录在MysQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。可以由它来查看哪些sQL超出了我们最大忍耐时间值。

2026-04-21 04:20:05 333

原创 linux 网卡配置

linux网卡可以通过命令和配置文件配置,如果是桌面环境还可以通过图形化界面配置.

2026-04-21 02:03:54 347

原创 【MySQL】复合查询

首先,要有一张每个部门的平均工资临时表,然后用临时表与员工表做连接查询,从连接查询的结果中筛选出来符合条件的即可。首先我们要始终明确一点:sql查询出来的结果一定是一张表,所以可以把一个子查询的结果当做一个临时表使用。在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。先查询10号部门的岗位,就当前表而言,其结果会有多行记录;然后再找出岗位相同的。首先要找出最高的工资,然后使用工资去比较,使用嵌套查询(子查询),也是在开发过程中使用的最多的连接查询。

2026-04-19 20:33:14 187

原创 Spring之DataSource配置

这里介绍的是第三种数据源配置方式;在Spring中,配置最简单的数据源就是通过一个JDBC驱动。DriverManagerDataSource:每次请求都会返回一个新的数据库连接,与连接池不同的是,返回的连接没有被池化(也就是没有放入到连接池中,当然也没有创建连接池)SimpleDriverDataSource:同DriverManagerDataSource工作方式一样,不同的地方是,它直接使用JDBC驱动克服一下在某些环境下可能出现的类加载的问题,比如在一个OSGi容器。

2026-04-19 17:45:57 152

原创 Spring WebFlux:响应式编程

WebFlux提供了一个非阻塞、异步的Web框架,允许开发者构建高性能、可伸缩的 Web 应用程序,特别适合处理大量并发连接,如在微服务架构和云环境中。WebFlux是Spring Framework 5引入的一个重要组件,它代表了Spring对于响应式编程(Reactive Programming)的支持。是Spring WebFlux中用于定义请求路由的函数接口。通过实现,可以精确控制请求的匹配和处理。WebClient。

2026-04-19 15:07:04 242

原创 PostgreSQL 查看数据库及表中数据占用空间大小

指定OID或名的表或索引,通过指定fork(‘main’,‘fsm’ 或’vm’)所使用的磁盘空间。指定表OID或表名的表使用的磁盘空间,除去索引(但是包含TOAST,自由空间映射和可视映射)指定表OID或表名使用的总磁盘空间,包括所有索引和TOAST数据。, ‘main’)的缩写。关联指定表OID或表名的表索引的使用总磁盘空间。存储一个指定的数值需要的字节数(可能压缩过)指定OID的数据库使用的磁盘空间。指定OID的表空间使用的磁盘空间。指定名称的数据库使用的磁盘空间。指定名称的表空间使用的磁盘空间。

2026-04-19 12:16:24 248

原创 mysql中general_log日志详解

1.记录范围:这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。2.记录顺序:MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。

2026-04-19 03:46:49 215

原创 时代变了,对比完Rust,发现Java差一大截!

Rust:适合需要高性能和内存安全的低级系统编程和高并发应用,Rust 的所有权和借用系统提供了在编译时检测错误的能力,使得程序运行更加健壮和安全。Rust 对于性能有极高要求的场景,尤其是嵌入式开发、系统级开发和高性能计算,非常适合选择 Rust 进行开发。Java:是面向对象的开发语言,拥有丰富众多的第三方库、稳定的企业环境支持,强大的开发工具链和框架支持,使其成为主流的应用程序开发语言之一。

2026-04-18 07:03:38 203

原创 一文读懂Ingress-Nginx以及实践攻略

Ingress是Kubernetes的 一种 API 对象,用于管理集群内服务的外部访问。Ingress 可以提供从集群外部到集群内Service的 HTTP 和 HTTPS 路由,并可以基于域名、路径等规则将请求转发到集群内的Service上。Ingress nginx是 Kubernetes 中最常用的 Ingress 控制器之一,由 NGINX 官方提供支持(备注:nginx和k8s官方各自维护了一套 nginx ingress controller是 NGINX 和 NGINX Plus 的。

2026-04-18 04:39:55 259

原创 windows系统使用bat命令文件启动redis

最近的项目中使用到了redis,自身电脑系统用的是windows,但是redis的服务启动和连接全部都需要进入到该redis所在的文件夹中,有些麻烦,想到了一些解决方案。因为每次启动redis服务和连接全部都需要激活cmd窗口,而cmd窗口又是windows的命令窗口,那么可以直接通过操作cmd进行命令操作。就是为该文件夹创建一个快捷方式,然后点击该快捷方式直接进入该文件夹中,这种确实快了些,对于那种路径比较深的,效果很明显的快了。不过启动redis服务和连接还是需要cmd,然后输入命令才能进行操作。

2026-04-18 02:16:11 205

原创 PostgreSQL常用时间函数与时间计算提取示例说明

主要用于计算一些特殊时间,函数说明截断成指定的精度,第1个参数指定精度select date_trunc('year',now()) as 当年第1天,date_trunc('year',now() + interval '1 year') - interval '1 day' as 当年最后1天,date_trunc('month',now()) as 当月第1天,

2026-04-04 04:09:17 404

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

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

2026-04-04 01:09:18 353

原创 Spring集成kafka的最佳方式

对于springboot 1.5版本之前的话,需要自己去配置java configuration,而1.5版本以后则提供了auto config,具体详见org.springframework.boot.autoconfigure.kafka这个包,主要有。基于Spring Integration构建,在spring cloud环境中又稍作加工,也稍微有点封装了. 具体详见spring cloud stream kafka实例以及spring-cloud-stream-binder-kafka属性配置。

2026-04-02 09:22:12 165

原创 Spring Boot 项目开发流程全解析

选择项目配置:在创建项目时,需要选择项目的基本信息,如项目名称、包名、依赖等。确保在开发环境中正确配置了构建工具,并了解其基本使用方法。在当今的 Java 开发领域,Spring Boot 以其便捷、高效的特性成为了众多开发者的首选。2.安装 IDE:如 IntelliJ IDEA 或 Eclipse,这些集成开发环境提供了丰富的功能,方便开发 Spring Boot 项目。application.properties 或 application.yml:项目的配置文件,可以配置数据库连接、日志级别等。

2026-04-02 06:06:57 349

原创 mysql的主从配置

MySQL 主从又叫做 Replication、AB 复制。简单讲就是 A 和 B 两台机器做主从后,在 A 上写数据,另外一台 B 也会跟着写数据,两者数据实时同步的。MySQL 主从是基于 binlog 的,主上须开启 binlog 才能进行主从。主从过程大致有 3 个步骤:1)主将更改操作记录到 binlog 里2)从将主的 binlog 事件(sql 语句)同步到从本机上并记录在 relaylog里中继日志3)从根据 relaylog 里面的 sql 语句按顺序执行。

2026-04-02 02:50:41 372

原创 【Navicat+MySQL】 在Navicat内创建管理数据库、数据库表。

ENGINE = <存储引擎>:MySQL 支持多个存储引擎,可为不同表设定不同的存储引擎,使用是要用具体的存储引擎名称代替,如 ENGINE = InnoDB。这个语句可以用来从一个数据库“跳转”到另一个数据库,在用 CREATE DATABASE 语句创建了数据库以后,该数据库不会自动成为当前数据库,需要用 USE 语句来制定。数据库Bookstore中有一个表book,创建book表的一个名为book_copy2的副本,并复制其内容。-<列名>:表中列的名字,长度不能超过64字符。

2026-04-01 03:35:51 353

原创 SpringBoot项目如何导入外部jar包:详细指南

导入外部jar包到SpringBoot项目是一个简单的过程,只需要几个步骤:将jar包复制到资源目录,修改pom.xml文件以包含对jar包的引用,并确保在打包时包含这些系统依赖项。通过这种方式,你可以轻松地扩展你的SpringBoot应用的功能,而不受Maven中央仓库的限制。希望这篇文章能帮助你在SpringBoot项目中成功导入外部jar包。如果你有任何疑问或需要进一步的帮助,请随时在评论区留言。

2026-04-01 00:29:17 238

原创 Redis之Redis事务

watch指令类似于乐观锁,在事务提交时,如果watch监控的多个KEY中任何KEY的值已经被其他客户端更改,则使用EXEC执行事务时,事务队列将不会被执行,同时返回Nullmulti-bulk应答以通知调用者事务执行失败。

2026-03-31 03:41:45 237

原创 MySQL---存储过程详解

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。特点:封装,复用 -----------------------> 可以把某一业务SQL封装在存储过程中,需要用到的时候直接调用即可。可以接收参数,也可以返回数据 --------> 再存储过程中,可以传递参数,也可以接收返回值。

2026-03-31 00:29:39 356

空空如也

空空如也

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

TA关注的人

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