1- import com .company .project .core .ProjectConstant ;
21import freemarker .template .TemplateExceptionHandler ;
32import org .mybatis .generator .api .MyBatisGenerator ;
43import org .mybatis .generator .config .*;
109import java .text .SimpleDateFormat ;
1110import java .util .*;
1211
12+ import static com .company .project .core .ProjectConstant .*;
13+
1314/**
1415 * 代码生成器,根据数据表名称生成对应的Model、Mapper、Service、Controller简化开发。
1516 */
@@ -26,10 +27,9 @@ public class CodeGenerator {
2627 private static final String JAVA_PATH = "\\ src\\ main\\ java" ; //java文件路径
2728 private static final String RESOURCES_PATH = "\\ src\\ main\\ resources" ;//资源文件路径
2829
29- private static final String BASE_PACKAGE_PATH = "\\ com\\ company\\ project" ;//项目基础包路径
30- private static final String PACKAGE_PATH_SERVICE = BASE_PACKAGE_PATH + "\\ service\\ " ;//生成的Service存放路径
31- private static final String PACKAGE_PATH_SERVICE_IMPL = BASE_PACKAGE_PATH + "\\ service\\ impl\\ " ;//生成的Service实现存放路径
32- private static final String PACKAGE_PATH_CONTROLLER = BASE_PACKAGE_PATH + "\\ web\\ " ;//生成的Controller实现存放路径
30+ private static final String PACKAGE_PATH_SERVICE = packageConvertPath (SERVICE_PACKAGE );//生成的Service存放路径
31+ private static final String PACKAGE_PATH_SERVICE_IMPL = packageConvertPath (SERVICE_IMPL_PACKAGE );//生成的Service实现存放路径
32+ private static final String PACKAGE_PATH_CONTROLLER = packageConvertPath (CONTROLLER_PACKAGE );//生成的Controller存放路径
3333
3434 private static final String AUTHOR = "CodeGenerator" ;//@author
3535 private static final String DATE = new SimpleDateFormat ("yyyy/MM/dd" ).format (new Date ());//@date
@@ -63,12 +63,12 @@ public static void genModelAndMapper(String tableName) {
6363
6464 PluginConfiguration pluginConfiguration = new PluginConfiguration ();
6565 pluginConfiguration .setConfigurationType ("tk.mybatis.mapper.generator.MapperPlugin" );
66- pluginConfiguration .addProperty ("mappers" , ProjectConstant . MAPPER_INTERFACE_REFERENCE );
66+ pluginConfiguration .addProperty ("mappers" , MAPPER_INTERFACE_REFERENCE );
6767 context .addPluginConfiguration (pluginConfiguration );
6868
6969 JavaModelGeneratorConfiguration javaModelGeneratorConfiguration = new JavaModelGeneratorConfiguration ();
7070 javaModelGeneratorConfiguration .setTargetProject (PROJECT_PATH + JAVA_PATH );
71- javaModelGeneratorConfiguration .setTargetPackage (ProjectConstant . MODEL_PACKAGE );
71+ javaModelGeneratorConfiguration .setTargetPackage (MODEL_PACKAGE );
7272 context .setJavaModelGeneratorConfiguration (javaModelGeneratorConfiguration );
7373
7474 SqlMapGeneratorConfiguration sqlMapGeneratorConfiguration = new SqlMapGeneratorConfiguration ();
@@ -78,7 +78,7 @@ public static void genModelAndMapper(String tableName) {
7878
7979 JavaClientGeneratorConfiguration javaClientGeneratorConfiguration = new JavaClientGeneratorConfiguration ();
8080 javaClientGeneratorConfiguration .setTargetProject (PROJECT_PATH + JAVA_PATH );
81- javaClientGeneratorConfiguration .setTargetPackage (ProjectConstant . MAPPER_PACKAGE );
81+ javaClientGeneratorConfiguration .setTargetPackage (MAPPER_PACKAGE );
8282 javaClientGeneratorConfiguration .setConfigurationType ("XMLMAPPER" );
8383 context .setJavaClientGeneratorConfiguration (javaClientGeneratorConfiguration );
8484
@@ -106,6 +106,11 @@ public static void genModelAndMapper(String tableName) {
106106 if (generator .getGeneratedJavaFiles ().isEmpty () || generator .getGeneratedXmlFiles ().isEmpty ()) {
107107 throw new RuntimeException ("生成Model和Mapper失败:" + warnings );
108108 }
109+
110+ String modelName = tableNameConvertUpperCamel (tableName );
111+ System .out .println (modelName + ".java 生成成功" );
112+ System .out .println (modelName + "Mapper.java 生成成功" );
113+ System .out .println (modelName + "Mapper.xml 生成成功" );
109114 }
110115
111116 public static void genService (String tableName ) {
@@ -118,7 +123,7 @@ public static void genService(String tableName) {
118123 String modelNameUpperCamel = tableNameConvertUpperCamel (tableName );
119124 data .put ("modelNameUpperCamel" , modelNameUpperCamel );
120125 data .put ("modelNameLowerCamel" , tableNameConvertLowerCamel (tableName ));
121- data .put ("basePackage" , ProjectConstant . BASE_PACKAGE );
126+ data .put ("basePackage" , BASE_PACKAGE );
122127
123128 File file = new File (PROJECT_PATH + JAVA_PATH + PACKAGE_PATH_SERVICE + modelNameUpperCamel + "Service.java" );
124129 if (!file .getParentFile ().exists ()) {
@@ -151,7 +156,7 @@ public static void genController(String tableName) {
151156 String modelNameUpperCamel = tableNameConvertUpperCamel (tableName );
152157 data .put ("modelNameUpperCamel" , modelNameUpperCamel );
153158 data .put ("modelNameLowerCamel" , tableNameConvertLowerCamel (tableName ));
154- data .put ("basePackage" , ProjectConstant . BASE_PACKAGE );
159+ data .put ("basePackage" , BASE_PACKAGE );
155160
156161 File file = new File (PROJECT_PATH + JAVA_PATH + PACKAGE_PATH_CONTROLLER + modelNameUpperCamel + "Controller.java" );
157162 if (!file .getParentFile ().exists ()) {
@@ -206,4 +211,7 @@ private static String tableNameConvertMappingPath(String tableName) {
206211 return "/" + (tableName .contains ("_" ) ? tableName .replaceAll ("_" , "/" ) : tableName );
207212 }
208213
214+ private static String packageConvertPath (String packageName ) {
215+ return String .format ("\\ %s\\ " , packageName .contains ("." ) ? packageName .replaceAll ("\\ ." , "\\ \\ " ) : packageName );
216+ }
209217}
0 commit comments