瀏覽代碼

修复表名大小写不敏感时错误提示表不存在.

nieqiurong 4 年之前
父節點
當前提交
a3091ccb37

+ 3 - 2
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilder.java

@@ -149,13 +149,14 @@ public class ConfigBuilder {
             //TODO 我要把这个打印不存在表的功能和正则匹配功能删掉,就算是苗老板来了也拦不住的那种
             if (isExclude || isInclude) {
                 Set<String> notExistTables = new HashSet<>(isExclude ? strategyConfig.getExclude() : strategyConfig.getInclude())
-                    .stream().filter(s -> !REGX.matcher(s).find()).collect(Collectors.toSet());
+                    .stream().filter(s -> !REGX.matcher(s).find()).map(String::toLowerCase).collect(Collectors.toSet());
                 // 将已经存在的表移除,获取配置中数据库不存在的表
                 for (TableInfo tabInfo : tableList) {
                     if (notExistTables.isEmpty()) {
                         break;
                     }
-                    notExistTables.remove(tabInfo.getName());
+                    //解决可能大小写不敏感的情况导致无法移除掉
+                    notExistTables.remove(tabInfo.getName().toLowerCase());
                 }
                 if (notExistTables.size() > 0) {
                     System.err.println("表 " + notExistTables + " 在数据库中不存在!!!");

+ 2 - 1
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java

@@ -43,7 +43,8 @@ import java.util.*;
  */
 public abstract class AbstractTemplateEngine {
 
-    protected static final Logger logger = LoggerFactory.getLogger(AbstractTemplateEngine.class);
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
+
     /**
      * 配置信息
      */

+ 2 - 1
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/BeetlTemplateEngine.java

@@ -58,7 +58,8 @@ public class BeetlTemplateEngine extends AbstractTemplateEngine {
             Configuration cfg = Configuration.defaultConfiguration();
             groupTemplate = new GroupTemplate(new ClasspathResourceLoader("/"), cfg);
         } catch (IOException e) {
-            logger.error(e.getMessage(), e);
+            logger.error("初始化模板引擎失败:", e);
+            throw new RuntimeException(e);
         }
         return this;
     }