From 908d7333ab2078cf78bdcbdeac73d84452abcdc0 Mon Sep 17 00:00:00 2001 From: iqudoo Date: Fri, 17 Apr 2026 15:49:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-mybatis-generator-plugin-1.0-SNAPSHOT.jar | Bin 40097 -> 40366 bytes .../mybatis/TapeMybatisGeneratorPlugin.java | 64 +++++----- .../TapeRepositoryGeneratorPlugin.java | 109 +++++++----------- .../mybatis/TapeRepoviewGeneratorPlugin.java | 40 +++---- 4 files changed, 92 insertions(+), 121 deletions(-) diff --git a/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar b/releases/tape-mybatis-generator-plugin-1.0-SNAPSHOT.jar index 03bf3d57310091d2a69e9bf5316e89f51b4d7864..c5c8c2f78ea468d404c78d2a149f272c1fb5fc79 100644 GIT binary patch delta 31358 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 O=uC82kCgwOpFMNt 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 0) { - return value; - } - } - } catch (Throwable ignored) { - } - return ignorePageSize; + return getTableInt(introspectedTable, "ignorePageSize", ignorePageSize); } public int getMaxPageSize(IntrospectedTable introspectedTable) { - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String getMaxPageSize = tableConfiguration.getProperty("maxPageSize"); - if (getMaxPageSize != null && !getMaxPageSize.isEmpty()) { - int value = Integer.parseInt(getMaxPageSize); - if (value > 0) { - return value; - } - } - } catch (Throwable ignored) { - } - return maxPageSize; + return getTableInt(introspectedTable, "maxPageSize", maxPageSize); } public int getStartPageNum(IntrospectedTable introspectedTable) { + return getTableInt(introspectedTable, "startPageNum", startPageNum); + } + + // ====================== 统一 Table 属性获取(你全类都能用) ====================== + private String getTableProperty(IntrospectedTable introspectedTable, String propName, String defaultValue) { try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String getStartPageNum = tableConfiguration.getProperty("startPageNum"); - if (getStartPageNum != null && !getStartPageNum.isEmpty()) { - int value = Integer.parseInt(getStartPageNum); - if (value > 0) { - return value; - } + TableConfiguration tc = introspectedTable.getTableConfiguration(); + String v = tc.getProperty(propName); + if (StringUtility.stringHasValue(v)) { + return v.trim(); } - } catch (Throwable ignored) { + } catch (Exception ignored) { + } + return defaultValue; + } + + private boolean getTableBool(IntrospectedTable introspectedTable, String propName, boolean defaultValue) { + String v = getTableProperty(introspectedTable, propName, String.valueOf(defaultValue)); + try { + return Boolean.parseBoolean(v); + } catch (Exception e) { + return defaultValue; + } + } + + private int getTableInt(IntrospectedTable introspectedTable, String propName, int defaultValue) { + String v = getTableProperty(introspectedTable, propName, String.valueOf(defaultValue)); + try { + return Integer.parseInt(v); + } catch (Exception e) { + return defaultValue; } - return startPageNum; } @SuppressWarnings("DuplicatedCode") diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java index 290cb44..2644e5c 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeRepositoryGeneratorPlugin.java @@ -52,9 +52,6 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { targetProject = stringConfig("targetProject", targetProject); slowQueryLoggerTime = stringConfig("slowQueryLoggerTime", slowQueryLoggerTime); slowQueryLoggerLevel = stringConfig("slowQueryLoggerLevel", slowQueryLoggerLevel); - if (!UtilTools.inArray(new String[]{"error", "warn", "debug", "info"}, slowQueryLoggerLevel)) { - slowQueryLoggerLevel = "error"; - } guidGeneratorClass = stringConfig("guidGeneratorClass", guidGeneratorClass); guidGeneratorCode = stringConfig("guidGeneratorCode", guidGeneratorCode); facadeRepositoryPackage = stringConfig("facadeRepositoryPackage", facadeRepositoryPackage); @@ -67,70 +64,6 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { modelPackage = stringConfig("modelPackage", modelPackage); } - private boolean isChangeLogEnable(IntrospectedTable introspectedTable) { - String tableChangeLogEnable = changeLogEnable; - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String getChangeLogEnable = tableConfiguration.getProperty("changeLogEnable"); - if (getChangeLogEnable != null && !getChangeLogEnable.isEmpty()) { - tableChangeLogEnable = getChangeLogEnable; - } - } catch (Throwable ignored) { - } - try { - boolean b = Boolean.parseBoolean(tableChangeLogEnable); - if (b) { - return true; - } - } catch (Throwable ignored) { - } - return false; - } - - private boolean isOptimisticLockEnable(IntrospectedTable introspectedTable) { - String tableOptimisticLockEnable = optimisticLockEnable; - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String getOptimisticLockEnable = tableConfiguration.getProperty("optimisticLockEnable"); - if (getOptimisticLockEnable != null && !getOptimisticLockEnable.isEmpty()) { - tableOptimisticLockEnable = getOptimisticLockEnable; - } - } catch (Throwable ignored) { - } - try { - boolean b = Boolean.parseBoolean(tableOptimisticLockEnable); - if (b) { - return true; - } - } catch (Throwable ignored) { - } - return false; - } - - public String getSlowQueryLoggerLevel(IntrospectedTable introspectedTable) { - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String tableSlowQueryLoggerLevel = tableConfiguration.getProperty("slowQueryLoggerLevel"); - if (tableSlowQueryLoggerLevel != null && !tableSlowQueryLoggerLevel.isEmpty()) { - return tableSlowQueryLoggerLevel; - } - } catch (Throwable ignored) { - } - return slowQueryLoggerLevel; - } - - public String getSlowQueryLoggerTime(IntrospectedTable introspectedTable) { - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String tableSlowQueryLoggerTime = tableConfiguration.getProperty("slowQueryLoggerTime"); - if (tableSlowQueryLoggerTime != null && !tableSlowQueryLoggerTime.isEmpty()) { - return tableSlowQueryLoggerTime; - } - } catch (Throwable ignored) { - } - return slowQueryLoggerTime; - } - private String stringConfig(String key, String defaultValue) { String v = properties.getProperty(key); if (StringUtility.stringHasValue(v)) { @@ -145,6 +78,48 @@ public class TapeRepositoryGeneratorPlugin extends PluginAdapter { return defaultValue; } + private boolean isChangeLogEnable(IntrospectedTable introspectedTable) { + return getTableBool(introspectedTable, "changeLogEnable", Boolean.parseBoolean(changeLogEnable)); + } + + private boolean isOptimisticLockEnable(IntrospectedTable introspectedTable) { + return getTableBool(introspectedTable, "optimisticLockEnable", Boolean.parseBoolean(optimisticLockEnable)); + } + + private String getSlowQueryLoggerLevel(IntrospectedTable introspectedTable) { + String level = getTableProperty(introspectedTable, "slowQueryLoggerLevel", slowQueryLoggerLevel); + if (!UtilTools.inArray(new String[]{"error", "warn", "debug", "info"}, level)) { + return "error"; + } + return level; + } + + private String getSlowQueryLoggerTime(IntrospectedTable introspectedTable) { + return getTableProperty(introspectedTable, "slowQueryLoggerTime", slowQueryLoggerTime); + } + + // ====================== 统一 Table 属性获取(你全类都能用) ====================== + private String getTableProperty(IntrospectedTable introspectedTable, String propName, String defaultValue) { + try { + TableConfiguration tc = introspectedTable.getTableConfiguration(); + String v = tc.getProperty(propName); + if (StringUtility.stringHasValue(v)) { + return v.trim(); + } + } catch (Exception ignored) { + } + return defaultValue; + } + + private boolean getTableBool(IntrospectedTable introspectedTable, String propName, boolean defaultValue) { + String v = getTableProperty(introspectedTable, propName, String.valueOf(defaultValue)); + try { + return Boolean.parseBoolean(v); + } catch (Exception e) { + return defaultValue; + } + } + /** * 核心方法:视图表过滤 + 生成完整Repository代码 */ diff --git a/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java b/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java index e63abbe..453bb34 100644 --- a/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java +++ b/src/main/java/com/iqudoo/framework/mybatis/TapeRepoviewGeneratorPlugin.java @@ -49,9 +49,6 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter { targetProject = stringConfig("targetProject", targetProject); slowQueryLoggerTime = stringConfig("slowQueryLoggerTime", slowQueryLoggerTime); slowQueryLoggerLevel = stringConfig("slowQueryLoggerLevel", slowQueryLoggerLevel); - if (!UtilTools.inArray(new String[]{"error", "warn", "debug", "info"}, slowQueryLoggerLevel)) { - slowQueryLoggerLevel = "error"; - } facadeViewRepositoryPackage = stringConfig("facadeViewRepositoryPackage", facadeViewRepositoryPackage); domainViewRepositoryPackage = stringConfig("facadeViewRepositoryPackage", domainViewRepositoryPackage); mapperPackage = stringConfig("mapperPackage", mapperPackage); @@ -72,28 +69,29 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter { return defaultValue; } - public String getSlowQueryLoggerLevel(IntrospectedTable introspectedTable) { - try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String tableSlowQueryLoggerLevel = tableConfiguration.getProperty("slowQueryLoggerLevel"); - if (tableSlowQueryLoggerLevel != null && !tableSlowQueryLoggerLevel.isEmpty()) { - return tableSlowQueryLoggerLevel; - } - } catch (Throwable ignored) { + private String getSlowQueryLoggerLevel(IntrospectedTable introspectedTable) { + String level = getTableProperty(introspectedTable, "slowQueryLoggerLevel", slowQueryLoggerLevel); + if (!UtilTools.inArray(new String[]{"error", "warn", "debug", "info"}, level)) { + return "error"; } - return slowQueryLoggerLevel; + return level; } - public String getSlowQueryLoggerTime(IntrospectedTable introspectedTable) { + private String getSlowQueryLoggerTime(IntrospectedTable introspectedTable) { + return getTableProperty(introspectedTable, "slowQueryLoggerTime", slowQueryLoggerTime); + } + + // ====================== 统一 Table 属性获取(你全类都能用) ====================== + private String getTableProperty(IntrospectedTable introspectedTable, String propName, String defaultValue) { try { - TableConfiguration tableConfiguration = introspectedTable.getTableConfiguration(); - String tableSlowQueryLoggerTime = tableConfiguration.getProperty("slowQueryLoggerTime"); - if (tableSlowQueryLoggerTime != null && !tableSlowQueryLoggerTime.isEmpty()) { - return tableSlowQueryLoggerTime; + TableConfiguration tc = introspectedTable.getTableConfiguration(); + String v = tc.getProperty(propName); + if (StringUtility.stringHasValue(v)) { + return v.trim(); } - } catch (Throwable ignored) { + } catch (Exception ignored) { } - return slowQueryLoggerTime; + return defaultValue; } /** @@ -244,7 +242,7 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter { generateFindOneMethod(implClass, modelClassName, exampleClassName); generateGetListMethod(implClass, introspectedTable, modelClassName, exampleClassName, mapperFieldName, hasBLOBColumns); generateCountMethod(implClass, introspectedTable, modelClassName, exampleClassName, mapperFieldName); - generateCountWithPageMethod(implClass, modelClassName, exampleClassName, mapperFieldName); + generateCountWithPageMethod(implClass, exampleClassName); return implClass; } @@ -374,7 +372,7 @@ public class TapeRepoviewGeneratorPlugin extends PluginAdapter { /** * 生成count方法 */ - private void generateCountWithPageMethod(TopLevelClass implClass, String modelClassName, String exampleClassName, String mapperFieldName) { + private void generateCountWithPageMethod(TopLevelClass implClass, String exampleClassName) { Method method = new Method("countWithPage"); method.addAnnotation("@Override"); method.setVisibility(JavaVisibility.PUBLIC);