摘要:
基于:Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么? 在 MyBatis 中,Executor 是一个关键的接口,负责执行映射的 SQL 语句。MyBatis 提供了四种类型的 Executor,每种 Executor 在执行 SQL 和处理事务方面都有不同的特点。本文将
阅读全文
posted @ 2025-11-05 23:04
Higurashi-kagome
阅读(4)
推荐(0)
摘要:
当前已经安装了 MySQ(8.3.0),因为有时会需要用到多套系统数据(比如测试生产各一套数据),为了避免数据库名称冲突,希望安装多个 MySQL 实例。 复制D:\soft\mysql-8.3.0-winx64\my.ini到D:\soft\mysql-8.3.0-winx64\my1.ini 修
阅读全文
posted @ 2025-11-03 21:56
Higurashi-kagome
阅读(4)
推荐(0)
摘要:
总结自(部分调整):MyBatis 3 源码深度解析 SqlSource 与 BoundSql 详解 在介绍原理之前,我们首先需要了解 MyBatis 中和 SQL 语句有关的两个组件,即 SqlSource 和 BoundSql。 SqlSource:代表 Java 注解或者 XML 文件配置的
阅读全文
posted @ 2025-10-28 21:42
Higurashi-kagome
阅读(11)
推荐(0)
摘要:
原文:SpringMVC 中反序列化与序列化的原理 说明 在千变万化的需求面前,使用 Spring MVC 原生的 API 进行开发,多数情况是可以满足的,但对于某些特定的场景是无法满足的,这时候就需要对框架进行扩展或是重写源码组件。但前提是需要对框架原理、流程等掌握透彻,知己知彼,方能动手重构。
阅读全文
posted @ 2025-10-25 15:14
Higurashi-kagome
阅读(9)
推荐(0)
摘要:
基于:SpringMVC 启动与请求处理流程解析 什么是 DispatcherServlet? SpringMVC 基于 Servlet,DispatcherServlet 是 SpringMVC 的核心组件,本身是一个 Servlet,负责请求的分发,其继承关系如下: GenericServlet
阅读全文
posted @ 2025-10-25 15:06
Higurashi-kagome
阅读(5)
推荐(0)
摘要:
转自(部分调整):《JAVA 与模式》之责任链模式 《JAVA 与模式》一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对
阅读全文
posted @ 2025-10-25 13:50
Higurashi-kagome
阅读(5)
推荐(0)
摘要:
ACID 是指数据库管理系统(DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。 原子性
阅读全文
posted @ 2025-10-24 23:39
Higurashi-kagome
阅读(41)
推荐(0)
摘要:
原文:理解事务的 4 种隔离级别 数据库事务的隔离级别有 4 种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与
阅读全文
posted @ 2025-10-24 23:24
Higurashi-kagome
阅读(5)
推荐(0)
摘要:
一、延迟加载是什么? 延迟加载(Lazy Loading)又称“惰性加载”,指的是: 当查询一个对象时,不立即加载它的关联对象(如一对多、多对一关系),而是在第一次真正使用该关联对象时才去执行 SQL 查询加载它。 举个例子: User user = userMapper.selectById(1)
阅读全文
posted @ 2025-10-15 00:33
Higurashi-kagome
阅读(24)
推荐(0)
摘要:
参考: Docker 安装配置 OnlyOffice Installing ONLYOFFICE Docs for Docker on a local server 步骤 1:拉取 OnlyOffice Docker 镜像 首先,使用以下命令从 Docker Hub 拉取 OnlyOffice Do
阅读全文
posted @ 2025-10-03 23:16
Higurashi-kagome
阅读(77)
推荐(0)
摘要:
1. 拉取 OnlyOffice Docker 镜像(如果尚未拉取) 如果本地 Docker 环境中还没有 OnlyOffice Document Server 的镜像,需要首先从 Docker Hub 拉取。 docker pull onlyoffice/documentserver 2. 查找正
阅读全文
posted @ 2025-10-03 15:20
Higurashi-kagome
阅读(37)
推荐(0)
摘要:
1. 问题背景 在 Spring Boot 应用中,我们通常使用@EnableScheduling启用定时任务。这些定时任务在执行过程中,可能会调用 Mapper 方法与数据库交互,产生大量的 SQL 日志。默认情况下,这些日志会与普通业务请求的日志一起输出到日志文件或控制台。 现在希望实现以下目标
阅读全文
posted @ 2025-10-02 22:27
Higurashi-kagome
阅读(20)
推荐(0)
摘要:
一、参考文档 Logback 官方文档 Logback 博客文档 二、logback.xml常用配置详解 以下是logback.xml常用节点结构图: 1. 根节点<configuration> <configuration>是 Logback 配置文件的根节点,包含以下三个重要属性: scan:当
阅读全文
posted @ 2025-10-02 00:09
Higurashi-kagome
阅读(34)
推荐(0)
摘要:
发现是因为没有配置好 SSL 代理,打开Proxying->SSL proxying settings: 应该如下配置: 参考:Charles 抓包抓不到数据
阅读全文
posted @ 2025-09-30 20:49
Higurashi-kagome
阅读(24)
推荐(0)
摘要:
一、概念对比总览 在 Spring Cloud Gateway(或任何网络客户端)中,response-timeout和connect-timeout作用于网络请求的不同阶段。 配置项 作用阶段 含义说明 默认值(Spring Cloud Gateway) 单位 connect-timeout 连接
阅读全文
posted @ 2025-09-17 23:59
Higurashi-kagome
阅读(106)
推荐(0)
摘要:
1. 问题现象与根本原因 在使用达梦数据库进行数据插入操作时,遇到“记录超长”的错误提示,导致数据无法成功保存。 当尝试向达梦数据库表中插入一条新记录时,如果该行记录的总大小超出了数据库的存储限制,系统便会抛出“记录超长”的错误。 1.1 核心限制:页大小与行记录 达梦数据库在存储数据时,每行记录的
阅读全文
posted @ 2025-08-31 20:36
Higurashi-kagome
阅读(87)
推荐(0)
摘要:
参考:0004 故障现象与初步分析 系统运行一段时间之后,出现了 Excel 导出失败的错误: nested exception is java.lang.IllegalStateException: java.nio.file.NoSuchFileException: /tmp/b35f0633-
阅读全文
posted @ 2025-08-31 10:46
Higurashi-kagome
阅读(95)
推荐(0)
摘要:
引言 在使用 Nginx 作为反向代理服务 OnlyOffice 时,发现原本应为https://ip:port/cache/...的请求,在经过 Nginx 代理后,变成了https://ip/cache/...。 问题描述 当 Nginx 配置如下代理 OnlyOffice 请求时: locat
阅读全文
posted @ 2025-08-30 17:17
Higurashi-kagome
阅读(226)
推荐(0)
摘要:
参考:在 Linux(RHEL/CentOS/Ubuntu/Debian)下的 Nginx 或 Tengine 服务器中安装/配置/部署 SSL 证书、Nginx 配置-SSL&The plain HTTP request was sent to HTTPS port 解决 1. 登录 Linux
阅读全文
posted @ 2025-08-27 00:29
Higurashi-kagome
阅读(72)
推荐(0)
摘要:
在 Linux 上部署 Java 程序,报错: Invalid maximum heap size: -Xmx128m^M Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred.
阅读全文
posted @ 2025-08-23 23:12
Higurashi-kagome
阅读(36)
推荐(0)
摘要:
在软件开发中,测试是确保软件质量的重要环节。不同的测试类型关注不同的层面,从代码级别到用户使用场景,形成了一个完整的测试体系。本文介绍常见的测试类型,帮助理解它们的特点、适用场景和最佳实践。 1. 单元测试(Unit Testing) 什么是单元测试? 单元测试是测试软件中最小的可测试单元,通常是单
阅读全文
posted @ 2025-08-07 00:43
Higurashi-kagome
阅读(91)
推荐(0)
摘要:
在 Linux 下查看超大文件时,直接使用cat或vim等命令是很慢的,而且内存占用高。以下是几种更推荐的方法。 1. 使用tail和head查看文件开头或结尾 适合查看日志的开头或结尾内容。 # 查看最后 100 行 tail -n 100 large.log # 实时查看新增日志(常用于日志监控
阅读全文
posted @ 2025-08-06 21:12
Higurashi-kagome
阅读(447)
推荐(0)
摘要:
是因为某个终端配置中的 icon 文件找不到,导致报错。 打开 Terminal,进入设置,下面这些终端都对应着一个配置: 点击左下角的“打开 JSON 文件”,会看到终端可配置 icon: 调整 icon 文件不存在的配置项即可。 具体来说,我是删除了 Anaconda 及对应的文件(包括 ico
阅读全文
posted @ 2025-08-06 20:55
Higurashi-kagome
阅读(112)
推荐(0)
摘要:
配置的获取 SpringCloud 项目中,假如在 resource 目录下有如下 application.yml 文件: spring: application: name: userService # 服务名称 profiles: active: dev # 开发环境,这里是 dev cloud
阅读全文
posted @ 2025-07-23 22:10
Higurashi-kagome
阅读(40)
推荐(0)
摘要:
转自:CAS 单点登录详细流程 一、CAS 简介和整体流程 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法。CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点: 开源的企业级单点登录解决方案。 CAS Serv
阅读全文
posted @ 2025-07-19 19:56
Higurashi-kagome
阅读(419)
推荐(0)
摘要:
在分析@Transactional声明式事务之前,我们先回顾一下传统的基于 JDBC 的事务使用方式。 传统 JDBC 事务控制 在 Spring 出现之前,我们通常需要手动管理事务,代码示例如下: public class UserService { public void transferMon
阅读全文
posted @ 2025-07-15 20:46
Higurashi-kagome
阅读(42)
推荐(0)
摘要:
转自:linux free 命令下 free/available 区别_linux free available-CSDN 博客 例子 [root@xxxxxxx ~]# free -h total used free shared buff/cache available Mem: 15G 9.3
阅读全文
posted @ 2025-07-09 21:32
Higurashi-kagome
阅读(274)
推荐(0)
摘要:
转自:Java 使用 JSqlParser 解析 SQL 语句总结 概述 JSqlParser 是一个开源的 Java SQL 解析库,用于分析和操作 SQL 语句的结构。该库支持多种数据库方言,提供丰富的 API 接口,能够实现 SQL 语句的解析、修改和生成功能。MyBatis Plus 中就用
阅读全文
posted @ 2025-07-05 16:36
Higurashi-kagome
阅读(658)
推荐(0)
摘要:
RequestBodyAdvice RequestBodyAdvice是 Spring 框架中的一个接口,用于在读取请求体之前(或读取得到的对象作为参数传入 @RequestBody 或 HttpEntity Controller 方法之前)进行自定义处理。 RequestBodyAdvice (S
阅读全文
posted @ 2025-06-26 00:04
Higurashi-kagome
阅读(336)
推荐(0)
摘要:
可以使用@JsonValue和@JsonCreator注解自定义枚举的序列化与反序列化需求。 import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue;
阅读全文
posted @ 2025-06-04 22:56
Higurashi-kagome
阅读(245)
推荐(0)
摘要:
使用 自动映射枚举中介绍了 MP 所提供的两种映射枚举方式: 方式一:注解标记 枚举属性使用 @EnumValue 注解,指定枚举值在数据库中存储的实际值。 @Getter @AllArgsConstructor public enum GradeEnum { PRIMARY(1, "小学"), S
阅读全文
posted @ 2025-06-04 00:14
Higurashi-kagome
阅读(310)
推荐(0)
摘要:
推荐阅读:MyBatis 自定义 TypeHandler 及原理解析 背景介绍 在实际开发中,我们经常会遇到需要将对象序列化为 JSON 存储到数据库,或者从数据库读取 JSON 字符串反序列化为对象的需求。MyBatis-Plus 提供了 AbstractJsonTypeHandler 来方便自定
阅读全文
posted @ 2025-06-01 15:54
Higurashi-kagome
阅读(269)
推荐(0)
摘要:
Field类提供了两个方法:getType()和getGenericType()。这两个方法用于获取字段的类型,但它们的用途和返回值有所不同。 1. getType() 返回类型:返回一个Class<?>对象,表示字段的具体类型。 用途:用于获取字段的原始类型,不考虑泛型信息。 示例:Field f
阅读全文
posted @ 2025-05-31 23:06
Higurashi-kagome
阅读(81)
推荐(0)
摘要:
原文:notepad 如何选择被标记的行?复制包含关键字的行 使用快捷键Ctrl+F打开【查找】对话框 点击【Mark】选项卡,进行如下设置: 勾选【标记所在行】 根据需要设置其他选项 点击【查找全部】按钮 返回主窗口,此时匹配的行已被标记为书签 点击【搜索】菜单 >> 【书签】 >> 【复制书签行
阅读全文
posted @ 2025-05-28 19:56
Higurashi-kagome
阅读(497)
推荐(0)
摘要:
@Configuration(proxyBeanMethods = false)的作用是禁用基于 CGLIB 的代理机制,通过牺牲部分 Spring 容器的特性来换取性能优化。以下是具体作用和场景分析: 一、默认行为(proxyBeanMethods = true) 代理机制 proxyBeanMe
阅读全文
posted @ 2025-05-26 00:01
Higurashi-kagome
阅读(169)
推荐(0)
摘要:
原文:MapStruct 使用指南 介绍 随着微服务和分布式应用程序的快速发展,数据完整性和安全性变得比以往任何时候都更加重要。在这些松散耦合的系统之间,安全的通信渠道和有限的数据传输是最重要的。大多数时候,终端用户或服务不需要访问模型中的全部数据,而只需要访问某些特定的部分。 数据传输对象 (Da
阅读全文
posted @ 2025-05-25 22:35
Higurashi-kagome
阅读(513)
推荐(0)
摘要:
写了几个 Excel 用的 vba 脚本,Alt+F11 打开 vba 编辑器之后,从文件夹拖拽文件到编辑器中,发现文件中的中文乱码,且脚本也不能正常执行。 找到 Excel 脚本所在文件夹,用文本编辑器打开(我用的 VSCode),将文件保存为 GBK 编码,再拖拽到编辑器中,中文正常显示,脚本正
阅读全文
posted @ 2025-05-24 21:27
Higurashi-kagome
阅读(343)
推荐(0)
摘要:
转自(部分调整):Maven:mirror 和 repository 区别 1.Repository(仓库) 1.1 Maven 仓库种类 Maven 仓库主要分为两大类: 远程仓库(Remote Repository):相当于公共的仓库,所有用户都可以访问,通常以 URL 的形式访问。 本地仓库(
阅读全文
posted @ 2025-05-23 00:47
Higurashi-kagome
阅读(428)
推荐(0)
摘要:
1、删除日志文件 2、修改 javax.jmdns 日志级别 【系统管理】=>【系统日志】=>【日志级别】=>【名称:javax.jmdns 级别:off】 3、重启 Jenkins,这里介绍通过 Web 界面重启,更多方式参考重启 Jenkins 的三种方式 登录到 Jenkins。 在 Jenk
阅读全文
posted @ 2025-05-22 23:35
Higurashi-kagome
阅读(116)
推荐(0)
摘要:
右键点击虚拟机 -> 点击设置进入设置页面: 此时用另一台电脑 Ping 此 IP 地址,就可以 Ping 通了。
阅读全文
posted @ 2025-05-22 21:58
Higurashi-kagome
阅读(355)
推荐(0)