|
|
@ -13,12 +13,12 @@ public class CustomFreemarkerTemplateEngine extends AbstractTemplateEngine { |
|
|
private final Configuration cfg = new Configuration(Configuration.VERSION_2_3_34); |
|
|
private final Configuration cfg = new Configuration(Configuration.VERSION_2_3_34); |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* ⭐ 模板基础路径(核心) |
|
|
* 模板基础路径(核心) |
|
|
*/ |
|
|
*/ |
|
|
private final String templateBasePath; |
|
|
private final String templateBasePath; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* ⭐ 构造器注入(你想要的方式) |
|
|
* 构造器注入(你想要的方式) |
|
|
*/ |
|
|
*/ |
|
|
public CustomFreemarkerTemplateEngine(String templateBasePath) { |
|
|
public CustomFreemarkerTemplateEngine(String templateBasePath) { |
|
|
if (templateBasePath.endsWith("/")) { |
|
|
if (templateBasePath.endsWith("/")) { |
|
|
@ -48,13 +48,25 @@ public class CustomFreemarkerTemplateEngine extends AbstractTemplateEngine { |
|
|
File outputFile) throws Exception { |
|
|
File outputFile) throws Exception { |
|
|
|
|
|
|
|
|
// MP 默认带 /templates/
|
|
|
// MP 默认带 /templates/
|
|
|
|
|
|
String fileName = outputFile.getName(); |
|
|
|
|
|
|
|
|
|
|
|
// 关键:控制不覆盖 mapper / xml
|
|
|
|
|
|
if (fileName.endsWith("Mapper.java") || |
|
|
|
|
|
fileName.endsWith("Mapper.xml")) { |
|
|
|
|
|
|
|
|
|
|
|
if (outputFile.exists()) { |
|
|
|
|
|
System.out.println(">>> 已存在,跳过生成: " + outputFile.getAbsolutePath()); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// entity 允许覆盖(不拦截)
|
|
|
String realTemplate = templatePath; |
|
|
String realTemplate = templatePath; |
|
|
|
|
|
|
|
|
if (realTemplate.startsWith("/templates/")) { |
|
|
if (realTemplate.startsWith("/templates/")) { |
|
|
realTemplate = realTemplate.substring("/templates/".length()); |
|
|
realTemplate = realTemplate.substring("/templates/".length()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// ⭐ 拼接最终路径
|
|
|
|
|
|
String finalTemplate = templateBasePath + realTemplate + ".ftl"; |
|
|
String finalTemplate = templateBasePath + realTemplate + ".ftl"; |
|
|
|
|
|
|
|
|
Template template = cfg.getTemplate(finalTemplate); |
|
|
Template template = cfg.getTemplate(finalTemplate); |
|
|
|