diff --git a/src/main/java/com/example/workutils/biz/mybatisgenerator/service/generator/TinyintToBooleanPlugin.java b/src/main/java/com/example/workutils/biz/mybatisgenerator/service/generator/TinyintToBooleanPlugin.java new file mode 100644 index 0000000..653a21a --- /dev/null +++ b/src/main/java/com/example/workutils/biz/mybatisgenerator/service/generator/TinyintToBooleanPlugin.java @@ -0,0 +1,57 @@ +package com.example.workutils.biz.mybatisgenerator.service.generator; + +import org.mybatis.generator.api.IntrospectedColumn; +import org.mybatis.generator.api.IntrospectedTable; +import org.mybatis.generator.api.PluginAdapter; +import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; + +import java.util.List; + +/** + * TINYINT → Boolean 类型映射插件。 + *
+ * 数据库中的 TINYINT(1) 字段在生成 Java 代码时默认映射为 Byte, + * 对于标识类字段(如 archived_flag, shadow, is_deleted 等)应映射为 Boolean。 + *
+ * 规则:列名以 {@code _flag} / {@code Flag} 结尾,或以 {@code is_} 开头,
+ * 或名为 {@code shadow} / {@code enable} / {@code status} 等常见布尔语义列名,
+ * 且 JDBC 类型为 TINYINT 时,Java 类型改为 java.lang.Boolean。
+ */
+public class TinyintToBooleanPlugin extends PluginAdapter {
+
+ @Override
+ public boolean validate(List