摘要:
内置实现 MyBatis 对枚举类型提供了两种默认的 TypeHandler 实现: EnumTypeHandler:使用枚举的 name() 值进行映射[1] EnumOrdinalTypeHandler:使用枚举的 ordinal() 值进行映射 默认情况下使用EnumTypeHandler。
阅读全文
posted @ 2025-03-26 23:33
Higurashi-kagome
阅读(513)
推荐(0)
摘要:
背景是在 SpringBoot 项目中使用了 dynamic-datasource 实现动态动态数据源,为了防止在生产库中执行修改操作,我希望限制只当当前数据源为指定值时,才能进行更新操作,其他数据源仅可读。 可创建如下 MyBatis 拦截器来实现: @Intercepts({ @Signatur
阅读全文
posted @ 2025-03-18 22:52
Higurashi-kagome
阅读(58)
推荐(0)
摘要:
在 MyBatis 中,SqlSessionFactory 和 SqlSession 就是工厂方法模式的应用。SqlSessionFactory 是工厂接口,它定义了创建 SqlSession 的方法。 SqlSessionFactory: package org.apache.ibatis.ses
阅读全文
posted @ 2025-03-06 19:24
Higurashi-kagome
阅读(74)
推荐(0)
摘要:
推荐阅读:策略模式 GenericTokenParser 使用 MyBatis 中有一个 GenericTokenParser 类,它用于解析字符串中的占位符: public class GenericTokenParser { private final String openToken; pri
阅读全文
posted @ 2025-03-02 20:10
Higurashi-kagome
阅读(35)
推荐(0)
摘要:
Executor 接口是 MyBatis 最核心的接口之一,它定义了执行 SQL 语句的方法,包括查询、更新等操作: public interface Executor { ResultHandler NO_RESULT_HANDLER = null; int update(MappedStatem
阅读全文
posted @ 2025-02-18 23:27
Higurashi-kagome
阅读(33)
推荐(0)
摘要:
MyBatis StatementHandler 接口主要负责 SQL 语句的执行和参数的设置: public interface StatementHandler { Statement prepare(Connection connection, Integer transactionTimeo
阅读全文
posted @ 2025-02-18 23:27
Higurashi-kagome
阅读(22)
推荐(0)
摘要:
在 MyBatis 中,TypeHandler 接口用来给 PreparedStatement 设置参数,以及从 ResultSet 获取结果: public interface TypeHandler<T> { void setParameter(PreparedStatement ps, int
阅读全文
posted @ 2025-02-18 23:27
Higurashi-kagome
阅读(61)
推荐(0)
摘要:
基于:银河麒麟 V10 离线安装 Nginx 准备工作 下载所需文件 下载 Nginx 前往 Nginx 官网 下载离线压缩包 下载依赖包 OpenSSL:前往 OpenSSL 官网 下载 PCRE2:前往 PCRE2 GitHub 下载 Zlib:前往 Zlib GitHub 下载 安装步骤 1.
阅读全文
posted @ 2025-02-13 23:26
Higurashi-kagome
阅读(5547)
推荐(0)
摘要:
MapperMethod 使用 ParamNameResolver 转换参数 MyBatis 中将 Mapper 接口中的方法封装为 MapperMethod 对象。调用 Mapper 接口中的如下方法: List<User> findList(User user); 最终会调用MapperMeth
阅读全文
posted @ 2025-02-13 22:54
Higurashi-kagome
阅读(71)
推荐(0)
摘要:
先加载离线包,然后使用如下命令创建容器并启动: docker run -i -t -d -p 9090:80 onlyoffice/documentserver 发现容器启动后,执行curl http://localhost:9090/web-apps/apps/documenteditor/mai
阅读全文
posted @ 2025-02-12 19:26
Higurashi-kagome
阅读(1013)
推荐(0)
摘要:
原文:Redis 有哪 2 种持久化方式?分别的优缺点是什么?,补充了 Redis 持久化配置 Redis 的读写操作都是在内存中,所以 Redis 性能才会高,但是当 Redis 重启后,内存中的数据就会丢失,那为了保证内存中的数据不会丢失,Redis 实现了数据持久化的机制,这个机制会把数据存储
阅读全文
posted @ 2025-02-09 17:54
Higurashi-kagome
阅读(102)
推荐(0)
摘要:
总结自:叫你别随便重启 Redis!!!怎么样,数据全丢了吧~~~_redis 重启对应用有影响吗 事故背景 今天生产环境的应用程序突然出现异常。经排查发现,运维同事按照要求对 Redis 的持久化策略进行了调整,开启了 AOF(AppendOnlyFile)模式。在开启过程中由于操作不当,导致 R
阅读全文
posted @ 2025-02-09 17:53
Higurashi-kagome
阅读(159)
推荐(0)
摘要:
在本篇博文中,我们将详细介绍如何在 CentOS 系统上安装 Redis,包括如何配置密码和开通外部访问。 安装 Redis Redis 通常在 EPEL(Extra Packages for Enterprise Linux)仓库中可用。因此需要先安装 EPEL 仓库: sudo yum inst
阅读全文
posted @ 2025-02-09 00:54
Higurashi-kagome
阅读(146)
推荐(0)
摘要:
先保存下面的内容为 SQL 脚本: DECLARE SCH_NAME VARCHAR(20) := 'YOUR_SCHEMA'; -- 替换为要删除表的模式名 TAB_NAME VARCHAR(100); SQL1 VARCHAR(500); SQL2 VARCHAR(500); C1 CURSOR
阅读全文
posted @ 2025-02-07 19:36
Higurashi-kagome
阅读(596)
推荐(0)
摘要:
原文:Session 详解,学习 Session,这篇文章就够了(包含底层分析和使用) 说明:下面介绍 Session,我们使用到了浏览器抓包,HTTP 的知识,如果不了解,请先简单了解下。HTTP 介绍,HTTP 请求,HTTP 响应。因为 Cookie 和 Session 是一对“好兄弟”,我们
阅读全文
posted @ 2025-01-30 09:36
Higurashi-kagome
阅读(399)
推荐(0)
摘要:
原文:Linux 学习笔记(二):什么是挂载?mount 的用处在哪? Windows 下,mount 挂载,就是给磁盘分区提供一个盘符(C、D、E...)。比如插入 U 盘后系统自动分配给了它 I: 盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载 unmount。 Linux 下,不像
阅读全文
posted @ 2025-01-23 00:40
Higurashi-kagome
阅读(126)
推荐(0)
摘要:
原文:Nginx 中 proxy_pass 的作用以及注意事项 格式 proxy_pass 格式:proxy_pass URL。 proxy_pass http://www.xxx.com/; proxy_pass http://192.168.200.101:8080/uri; proxy_pas
阅读全文
posted @ 2025-01-18 13:08
Higurashi-kagome
阅读(51)
推荐(0)
摘要:
HandlerMethodArgumentResolver是 Spring MVC 中的一个接口,用于解析控制器方法的参数。 下面演示如何自定义一个@NotBlank注解,并实现相应的HandlerMethodArgumentResolver,来校验前端传递的参数是否为空。 实际项目中已经有现成的注
阅读全文
posted @ 2025-01-10 20:11
Higurashi-kagome
阅读(107)
推荐(0)
摘要:
有时候会希望存在指定类型时才注入某个 Bean(或者某个类型不存在时才注入某个 Bean): @AutoConfiguration public class MyAutoConfiguration { @Bean @ConditionalOnClass(MyService.class) public
阅读全文
posted @ 2025-01-01 17:32
Higurashi-kagome
阅读(107)
推荐(0)
摘要:
总结自:DefaultSqlSession 和 SqlSessionTemplate 的线程安全问题、MyBatis 与 Spring 整合时是如何解决 SqlSession 线程不安全的问题的 为什么 DefaultSqlSession 线程不安全 原因 1:Connection 本身是线程不安全
阅读全文
posted @ 2025-01-01 14:42
Higurashi-kagome
阅读(200)
推荐(0)
摘要:
原文:记一次 Redisson 线上问题 → 你怎么能释放别人的锁 错误信息: attempt to unlock lock, not locked by current thread by node id: b9df1975-5595-42eb-beae-bdc5d67bce49 thread-i
阅读全文
posted @ 2025-01-01 10:37
Higurashi-kagome
阅读(882)
推荐(0)
摘要:
原文:MyBatis-Plus 的 BaseMapper 实现原理 MyBatis-Plus 自定义通用 Mapper 方法 MyBatis-Plus 提供了一些通用的 Mapper 方法,例如insert、update、selectById等。通过让自定义的 Mapper 继承BaseMapper
阅读全文
posted @ 2024-12-31 23:47
Higurashi-kagome
阅读(783)
推荐(0)
摘要:
背景 有时候,在使用 MyBatis 时会报下面的错误: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a differ
阅读全文
posted @ 2024-12-26 23:28
Higurashi-kagome
阅读(268)
推荐(0)
摘要:
总结自:彻底理解 JWT JWT 解决了什么问题? 在学习 JWT 具体内容之前,我们首先要知道它解决了什么问题,它为什么会出现。 来看下面这张图,有的时候服务器会发送一些信息给浏览器。比方说像登陆成功之后,有些身份信息会让浏览器去保存。给到浏览器之后,浏览器就会把这个信息保存下来。具体的保存位置可
阅读全文
posted @ 2024-12-26 21:59
Higurashi-kagome
阅读(52)
推荐(0)
摘要:
参考:动态数据源切换——@DS 注解源码解析 前言 借助 dynamic-datasource 可实现多数据源读写,其核心注解@DS用来动态切换数据源。 下面介绍@DS注解的实现原理。 如何使用 在 pom 中引入依赖: <!-- spring-boot 1.5.x 2.x.x --> <depen
阅读全文
posted @ 2024-12-18 23:40
Higurashi-kagome
阅读(1881)
推荐(0)
摘要:
JDBC 是什么 JDBC 是 Java DataBase Connectivity 的缩写,是由一组用 Java 语言编写的类和接口,用于在 Java 应用程序中与数据库进行交互。 JDBC 只是一套标准规范,具体的实现由各个数据库厂商去实现。对开发者来说其屏蔽了不同数据库之间的区别,可以使用相同
阅读全文
posted @ 2024-12-18 22:05
Higurashi-kagome
阅读(371)
推荐(0)
摘要:
MyBatis 拦截器介绍 MyBatis 提供了一种插件(即 MyBatis 拦截器)机制,可以拦截到 MyBatis 执行流程中的某些操作,从而实现一些特殊的功能。常见的应用场景比如分页、权限控制、日志打印、性能监控等。 MyBatis 拦截器使用 拦截器的使用大致分两步: 创建拦截器类:实现
阅读全文
posted @ 2024-12-14 00:55
Higurashi-kagome
阅读(1096)
推荐(0)
摘要:
假定为在单机场景下使用,且为经典的 SpringBoot 项目(用到 SpringBoot、Spring、SpringMVC、MyBatis 等框架) 引入依赖 在 pom.xml 中添加依赖: <dependency> <groupId>org.springframework.boot</grou
阅读全文
posted @ 2024-12-09 21:21
Higurashi-kagome
阅读(677)
推荐(0)
摘要:
介绍 定义:模板方法模式在一个方法中定义一个算法的骨架,将一些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义该算法的某些步骤。 示例: /** * 咖啡因饮料冲泡法 */ public abstract class CaffeineBeverage { /** * 模板
阅读全文
posted @ 2024-12-08 20:11
Higurashi-kagome
阅读(27)
推荐(0)
摘要:
推荐阅读:策略设计模式 介绍 假设有一个支付系统,需要支持使用不同的支付方式(策略),我们可以抽象出一个策略接口,然后定义具体的策略类来实现该接口。 策略接口: public interface PaymentStrategy { void pay(int amount); } 具体策略: publ
阅读全文
posted @ 2024-12-08 15:42
Higurashi-kagome
阅读(32)
推荐(0)
摘要:
介绍 工厂方法模式定义了一个用于创建对象的接口,由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 在工厂方法模式中,创建对象的工作由具体的工厂类来完成,客户端只需要知道所需产品的具体工厂,而无需关心创建细节。 示例 下面是一个简单的工厂方法模式的示例代码: // 抽象产品类 inte
阅读全文
posted @ 2024-12-07 15:38
Higurashi-kagome
阅读(40)
推荐(0)
摘要:
介绍 简单工厂模式(又称静态工厂模式):定义一个创建对象的类,由这个类来封装实例化对象的行为。 简单工厂模式应用场景:当我们需要根据传入的参数来动态创建对象时,可以使用简单工厂模式。 简单工厂模式的角色: 工厂类(Creator):负责创建产品的类。在简单工厂模式中,工厂类提供了一个静态方法,根据传
阅读全文
posted @ 2024-12-07 15:27
Higurashi-kagome
阅读(25)
推荐(0)
摘要:
总结自:一文吃透 Spring Boot 扩展之 BeanFactoryPostProcessor 概述 BeanFactoryPost、Spring 的 BeanDefinitionRegistryPostProcessor 接口详解 什么是 BeanFactoryPostProcessor Be
阅读全文
posted @ 2024-12-02 21:15
Higurashi-kagome
阅读(76)
推荐(0)
摘要:
原文:如何使用 Spring 的 FactoryBean 接口 参考:ChatGPT 在 Spring 容器中有两类的 Bean,一类是普通的 Bean,一类是工厂 Bean。这两种 Bean 都是被 Spring 的容器进行管理的。 FactoryBean是 Spring 提供的一个接口,用于定义
阅读全文
posted @ 2024-12-01 16:17
Higurashi-kagome
阅读(97)
推荐(0)
摘要:
推荐阅读:Spring @Import 注解用法、Spring Boot Starter 是什么 @Import 注解用于把实例加入 Spring IOC 容器中。 打开 @SpringBootApplication 注解(Spring Boot 2.6.13 为例),会发现其被 @EnableAu
阅读全文
posted @ 2024-11-30 19:59
Higurashi-kagome
阅读(57)
推荐(0)
摘要:
基于 Spring Boot Starters 总结 推荐阅读: @Configuration 和 @AutoConfiguration 的区别 @ConfigurationProperties 和 @EnableConfigurationProperties 的作用 Spring Boot Sta
阅读全文
posted @ 2024-11-30 16:52
Higurashi-kagome
阅读(81)
推荐(0)
摘要:
原文(简单修改):Maven 依赖中的 Scope 详解 scope 元素的作用:控制 dependency 元素的使用范围。通俗的讲,就是控制 jar 包在哪些范围被加载和使用。 compile(默认) compile 是默认值,如果没有指定 scope 值,该依赖的 scope 为 compil
阅读全文
posted @ 2024-11-30 11:08
Higurashi-kagome
阅读(101)
推荐(0)
摘要:
原文(简单修改):Spring 注解之 @Import 注解的三种使用方式 1、@Import 注解简介 @Import 只能用在类上,用于把实例加入 Spring 的 IOC 容器中。 下面是 @Import 注解的定义,其接收一个 Class 数组类型的参数: @Target(ElementTy
阅读全文
posted @ 2024-11-28 22:05
Higurashi-kagome
阅读(364)
推荐(0)
摘要:
有时候,我们希望从配置文件中获取一系列配置信息,除了使用@Value注解外,还有一种更好的方式,就是使用@ConfigurationProperties注解。 比如,假设在配置文件中存在如下 OSS 配置信息: spring: oss: enable: true bucket-name: local
阅读全文
posted @ 2024-11-28 20:39
Higurashi-kagome
阅读(359)
推荐(0)
摘要:
参考:https://stackoverflow.com/a/74117678 @Configuration是一个 Spring 注解,并不严格绑定于 Spring Boot。它的作用是支持以编程方式创建 Spring Bean,以简化 XML 配置。 @AutoConfiguration是 Spr
阅读全文
posted @ 2024-11-27 21:43
Higurashi-kagome
阅读(921)
推荐(0)