浏览代码

mybatis自动生成工具添加对应文件生成开关

songxinlu 3 年之前
父节点
当前提交
772370a7e7

+ 1 - 1
security-center/src/main/resources/freemarker/basemapper.xml.ftl

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="${package.Mapper}.base.${table.mapperName}">
+<mapper namespace="${package.Mapper}.${table.mapperName}">
 
 <#if enableCache>
     <!-- 开启二级缓存 -->

+ 102 - 61
security-center/src/test/java/com/diagbot/CodeAutoGenerator.java

@@ -41,7 +41,7 @@ public class CodeAutoGenerator {
      * 表名
      */
     private static String[] TABLES = {
-            "med_check_info",
+            "med_check_info"
     };
 
 
@@ -67,10 +67,29 @@ public class CodeAutoGenerator {
     private static DbType DB_TYPE = DbType.MYSQL;
     private static String driverClassName = "com.mysql.cj.jdbc.Driver";
 
+    //生成文件根目录
     private static String projectPath = "D://code";
+    //是否将根目录更新为工程的根目录【true会覆盖该项目对应目录下的文件、慎用】
+    private static boolean updatePath = false;
+
+    // 文件生成开关
+
+    //facade生成开关
+    private static boolean facadeFlag = true;
+    //service生成开关
+    private static boolean serviceFlag = true;
+    //serviceImpl生成开关
+    private static boolean serviceImplFlag = true;
+    //mapper.java(数据业务数据库CRUD接口)生成开关
+    private static boolean mapperJFlag = true;
+    //mapper.xml(数据库CRUD sql)生成开关
+    private static boolean mapperXFlag = true;
+    //basemapper.xml(实体类bean与数据库表字段映射)生成开关
+    private static boolean baseMapperXFlag = true;
+    //entity(表实体类)生成开关
+    private static boolean entityFlag = true;
+
     // 自定义输出模板和位置
-    // 文件位置输出模式: file output path = projectPath + XX_OUTPUT_PATH  + File
-    // XX_OUTPUT_PATH = modulePath + packagePath
     /**
      * entity输出模板
      */
@@ -98,7 +117,7 @@ public class CodeAutoGenerator {
     private static String MAPPER_OUTPUT_PATH = "/src/main/java" + PARENT_PACKAGE_PATH + MAPPER_PATH;
 
     /**
-     * mapper.java输出模板
+     * basemapper.java输出模板
      */
     private static String BASEMAPPER_TEMPLATE = "freemarker/basemapper.java.ftl";
     private static String BASEMAPPER_OUTPUT_PATH = "/src/main/java" + PARENT_PACKAGE_PATH + MAPPER_PATH + "/base/";
@@ -299,72 +318,94 @@ public class CodeAutoGenerator {
 
         List<FileOutConfig> list = new ArrayList<>();
         // 当前项目路径
-        //        projectPath = System.getProperty("user.dir");
+        if (updatePath) {
+            projectPath = System.getProperty("user.dir");
+        }
 
         // 实体类文件输出
-        list.add(new FileOutConfig(ENTITY_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + ENTITY_OUTPUT_PATH);
-                return projectPath + ENTITY_OUTPUT_PATH + tableInfo.getEntityName() + StringPool.DOT_JAVA;
-            }
-        });
+        if (entityFlag) {
+            list.add(new FileOutConfig(ENTITY_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + ENTITY_OUTPUT_PATH);
+                    return projectPath + ENTITY_OUTPUT_PATH + tableInfo.getEntityName() + StringPool.DOT_JAVA;
+                }
+            });
+        }
         // facade文件输出
-        list.add(new FileOutConfig(FACADE_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + FACADE_OUTPUT_PATH);
-                return projectPath + FACADE_OUTPUT_PATH + tableInfo.getServiceName().replaceAll("Service", "") + "Facade" + StringPool.DOT_JAVA;
-            }
-        });
+        if (facadeFlag) {
+            list.add(new FileOutConfig(FACADE_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + FACADE_OUTPUT_PATH);
+                    return projectPath + FACADE_OUTPUT_PATH + tableInfo.getServiceName().replaceAll("Service", "") + "Facade" + StringPool.DOT_JAVA;
+                }
+            });
+        }
+
         // mapper xml文件输出
-        list.add(new FileOutConfig(XML_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + XML_OUTPUT_PATH);
-                return projectPath + XML_OUTPUT_PATH + tableInfo.getMapperName() + StringPool.DOT_XML;
-            }
-        });
+        if (mapperXFlag) {
+            list.add(new FileOutConfig(XML_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + XML_OUTPUT_PATH);
+                    return projectPath + XML_OUTPUT_PATH + tableInfo.getMapperName() + StringPool.DOT_XML;
+                }
+            });
+        }
+
         //Base mapper xml文件输出
-        list.add(new FileOutConfig(BASEXML_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + XML_OUTPUT_PATH);
-                return projectPath + BASEXML_OUTPUT_PATH + "Base" + tableInfo.getMapperName() + StringPool.DOT_XML;
-            }
-        });
+        if (baseMapperXFlag) {
+            list.add(new FileOutConfig(BASEXML_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + XML_OUTPUT_PATH);
+                    return projectPath + BASEXML_OUTPUT_PATH + "Base" + tableInfo.getMapperName() + StringPool.DOT_XML;
+                }
+            });
+        }
+
         // mapper文件输出
-        list.add(new FileOutConfig(MAPPER_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + MAPPER_OUTPUT_PATH);
-                return projectPath + MAPPER_OUTPUT_PATH + tableInfo.getMapperName() + StringPool.DOT_JAVA;
-            }
-        });
+       if(mapperJFlag){
+           list.add(new FileOutConfig(MAPPER_TEMPLATE) {
+               @Override
+               public String outputFile(TableInfo tableInfo) {
+                   makeDir(projectPath + MAPPER_OUTPUT_PATH);
+                   return projectPath + MAPPER_OUTPUT_PATH + tableInfo.getMapperName() + StringPool.DOT_JAVA;
+               }
+           });
+       }
         // Base mapper文件输出
-        list.add(new FileOutConfig(BASEMAPPER_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + MAPPER_OUTPUT_PATH);
-                return projectPath + BASEMAPPER_OUTPUT_PATH + "Base" + tableInfo.getMapperName() + StringPool.DOT_JAVA;
-            }
-        });
+        //        list.add(new FileOutConfig(BASEMAPPER_TEMPLATE) {
+        //            @Override
+        //            public String outputFile(TableInfo tableInfo) {
+        //                makeDir(projectPath + MAPPER_OUTPUT_PATH);
+        //                return projectPath + BASEMAPPER_OUTPUT_PATH + "Base" + tableInfo.getMapperName() + StringPool.DOT_JAVA;
+        //            }
+        //        });
+
         // service文件输出
-        list.add(new FileOutConfig(SERVICE_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + SERVICE_OUTPUT_PATH);
-                return projectPath + SERVICE_OUTPUT_PATH + tableInfo.getServiceName() + StringPool.DOT_JAVA;
-            }
-        });
+        if(serviceFlag){
+            list.add(new FileOutConfig(SERVICE_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + SERVICE_OUTPUT_PATH);
+                    return projectPath + SERVICE_OUTPUT_PATH + tableInfo.getServiceName() + StringPool.DOT_JAVA;
+                }
+            });
+        }
+
         // service impl文件输出
-        list.add(new FileOutConfig(SERVICE_IMPL_TEMPLATE) {
-            @Override
-            public String outputFile(TableInfo tableInfo) {
-                makeDir(projectPath + SERVICE_IMPL_OUTPUT_PATH);
-                return projectPath + SERVICE_IMPL_OUTPUT_PATH + tableInfo.getServiceImplName() + StringPool.DOT_JAVA;
-            }
-        });
+        if(serviceImplFlag){
+            list.add(new FileOutConfig(SERVICE_IMPL_TEMPLATE) {
+                @Override
+                public String outputFile(TableInfo tableInfo) {
+                    makeDir(projectPath + SERVICE_IMPL_OUTPUT_PATH);
+                    return projectPath + SERVICE_IMPL_OUTPUT_PATH + tableInfo.getServiceImplName() + StringPool.DOT_JAVA;
+                }
+            });
+        }
+
         // controller文件输出
         //        list.add(new FileOutConfig(CONTROLLER_TEMPLATE) {
         //            @Override