JAVA 二月 03, 2024

基于 MyBatis 拦截器机制实现一个敏感数据处理组件

文章字数 22k 阅读约需 20 mins.

MyBatis 作为一个流行的持久层框架,提供了拦截器 Interceptor 机制,允许开发者在 SQL 执行过程中插入自定义逻辑。本文将深入探讨 MyBatis 拦截器的用法和使用场景,并以处理敏...

查看全文

JAVA 八月 07, 2022

解决Mybatis-Plus更新对象时字段更新为空值的问题

文章字数 8k 阅读约需 7 mins.

mybatis-plus(简称:mp)执行更新操作,将某些字段值置为 空 或者 null,持久层执行后,需要更新为空值的字段仍然保持原本的值。
显然和我们预期的结果不一致。

我们可以参照以下三种方案处理 mp 执行更新操作空值的情况。

针对实体类中字段的注解,在 mybatis-plus 的 @TableField
有 FieldStrategy-字段验证策略 和 FieldFill-自动填充 两种方式:

FieldStrategy 字段策略的3个使用场景:

  • insertStrategy insert...
查看全文

JAVA 二月 13, 2022

覆盖 MyBatis Mapper 文件

文章字数 14k 阅读约需 12 mins.

通过 -Xbootclasspath/a 参数修改 Spring Boot 应用行为实例 的 场景2 中,我们通过 -Xbootclasspath/a 参数,对 Spring Boot 应用 JAR 包中的 Mapper 文件进行了覆盖,但美中不足的是需要将未修改的 Mapper 文件也重新附加进去。

本文将演示两种仅需将改动的 Mapper 文件覆盖进去的方式。

先让我们看一下,在使用 MyBatis 时,如果仅将修改了的 Mapper 文件(即非全部 Mapper 文件)添加到 bootclasspath...

查看全文

JAVA 一月 23, 2022

通过 -Xbootclasspath/a 参数修改 Spring Boot 应用行为实例

文章字数 3.9k 阅读约需 4 mins.

Spring boot 应用不重新打包,添加新类 中简单介绍了 -Xbootclasspath/a 参数的用法,下面用两个实例来进行实际使用场景的说明。

bootclasspath 为本文使用的演示项目,可通过 mvn clean package -DskipTests 命令获得 Spring Boot 应用 JAR 包,并在项目根路径通过 java -jar app/target/app-0.0.1-SNAPSHOT.jar 命令启动应用,之后可访问 http://localhost:8080...

查看全文
0%