diff --git a/zheng-common/src/main/java/com/zheng/common/util/MybatisGeneratorUtil.java b/zheng-common/src/main/java/com/zheng/common/util/MybatisGeneratorUtil.java index ec2587dd..48efbc4e 100644 --- a/zheng-common/src/main/java/com/zheng/common/util/MybatisGeneratorUtil.java +++ b/zheng-common/src/main/java/com/zheng/common/util/MybatisGeneratorUtil.java @@ -20,13 +20,13 @@ import static com.zheng.common.util.StringUtil.lineToHump; public class MybatisGeneratorUtil { // generatorConfig模板路径 - private static String generatorConfig_vm = "zheng-common/src/main/resources/template/generatorConfig.vm"; + private static String generatorConfig_vm = "/template/generatorConfig.vm"; // Service模板路径 - private static String service_vm = "zheng-common/src/main/resources/template/Service.vm"; + private static String service_vm = "/template/Service.vm"; // ServiceMock模板路径 - private static String serviceMock_vm = "zheng-common/src/main/resources/template/ServiceMock.vm"; + private static String serviceMock_vm = "/template/ServiceMock.vm"; // ServiceImpl模板路径 - private static String serviceImpl_vm = "zheng-common/src/main/resources/template/ServiceImpl.vm"; + private static String serviceImpl_vm = "/template/ServiceImpl.vm"; /** * 根据模板生成generatorConfig.xml文件 @@ -50,6 +50,11 @@ public class MybatisGeneratorUtil { String package_name, Map last_insert_id_tables) throws Exception{ + generatorConfig_vm = MybatisGeneratorUtil.class.getResource(generatorConfig_vm).getPath().replaceFirst("/", ""); + service_vm = MybatisGeneratorUtil.class.getResource(service_vm).getPath().replaceFirst("/", ""); + serviceMock_vm = MybatisGeneratorUtil.class.getResource(serviceMock_vm).getPath().replaceFirst("/", ""); + serviceImpl_vm = MybatisGeneratorUtil.class.getResource(serviceImpl_vm).getPath().replaceFirst("/", ""); + String targetProject = module + "/" + module + "-dao"; String module_path = module + "/" + module + "-dao/src/main/resources/generatorConfig.xml"; String sql = "SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '" + database + "' AND table_name LIKE '" + table_prefix + "_%';"; diff --git a/zheng-common/src/main/java/com/zheng/common/util/VelocityUtil.java b/zheng-common/src/main/java/com/zheng/common/util/VelocityUtil.java index aa331e11..21d49e02 100644 --- a/zheng-common/src/main/java/com/zheng/common/util/VelocityUtil.java +++ b/zheng-common/src/main/java/com/zheng/common/util/VelocityUtil.java @@ -1,5 +1,6 @@ package com.zheng.common.util; +import org.apache.commons.lang.StringUtils; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; @@ -7,6 +8,7 @@ import org.apache.velocity.app.VelocityEngine; import java.io.File; import java.io.FileWriter; +import java.util.Properties; /** * Velocity工具类 @@ -23,9 +25,11 @@ public class VelocityUtil { */ public static void generate(String inputVmFilePath, String outputFilePath, VelocityContext context) throws Exception { try { - Velocity.init(); - VelocityEngine engine = new VelocityEngine(); - Template template = engine.getTemplate(inputVmFilePath, "utf-8"); + Properties properties = new Properties(); + properties.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, getPath(inputVmFilePath)); + Velocity.init(properties); + //VelocityEngine engine = new VelocityEngine(); + Template template = Velocity.getTemplate(getFile(inputVmFilePath), "utf-8"); File outputFile = new File(outputFilePath); FileWriter writer = new FileWriter(outputFile); template.merge(context, writer); @@ -35,4 +39,30 @@ public class VelocityUtil { } } + /** + * 根据文件绝对路径获取目录 + * @param filePath + * @return + */ + public static String getPath(String filePath) { + String path = ""; + if (StringUtils.isNotBlank(filePath)) { + path = filePath.substring(0, filePath.lastIndexOf("/") + 1); + } + return path; + } + + /** + * 根据文件绝对路径获取文件 + * @param filePath + * @return + */ + public static String getFile(String filePath) { + String file = ""; + if (StringUtils.isNotBlank(filePath)) { + file = filePath.substring(filePath.lastIndexOf("/") + 1); + } + return file; + } + }