From 7b79c36200b28dd50fbda08a9a6f1caf67dd4219 Mon Sep 17 00:00:00 2001 From: "review512jwy@163.com" <“review512jwy@163.com”> Date: Fri, 17 Apr 2026 11:40:18 +0800 Subject: [PATCH] =?UTF-8?q?mapper=E7=9B=B8=E5=85=B3=E4=B8=8D=E8=A6=81?= =?UTF-8?q?=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CustomFreemarkerTemplateEngine.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/youlai/boot/codegen/freemarker/CustomFreemarkerTemplateEngine.java b/src/main/java/com/youlai/boot/codegen/freemarker/CustomFreemarkerTemplateEngine.java index 053eeda..1a54532 100644 --- a/src/main/java/com/youlai/boot/codegen/freemarker/CustomFreemarkerTemplateEngine.java +++ b/src/main/java/com/youlai/boot/codegen/freemarker/CustomFreemarkerTemplateEngine.java @@ -13,12 +13,12 @@ public class CustomFreemarkerTemplateEngine extends AbstractTemplateEngine { private final Configuration cfg = new Configuration(Configuration.VERSION_2_3_34); /** - * ⭐ 模板基础路径(核心) + * 模板基础路径(核心) */ private final String templateBasePath; /** - * ⭐ 构造器注入(你想要的方式) + * 构造器注入(你想要的方式) */ public CustomFreemarkerTemplateEngine(String templateBasePath) { if (templateBasePath.endsWith("/")) { @@ -48,13 +48,25 @@ public class CustomFreemarkerTemplateEngine extends AbstractTemplateEngine { File outputFile) throws Exception { // 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; if (realTemplate.startsWith("/templates/")) { realTemplate = realTemplate.substring("/templates/".length()); } - // ⭐ 拼接最终路径 String finalTemplate = templateBasePath + realTemplate + ".ftl"; Template template = cfg.getTemplate(finalTemplate);