From ac62dc8edc921135f67275eebec0bc06399956f8 Mon Sep 17 00:00:00 2001 From: linjierong <19921Oo2> Date: Tue, 8 Feb 2022 17:39:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=8F=98=E9=87=8Fxml?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E5=90=8D=EF=BC=8C=E8=B7=9F=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E4=B8=80=E8=87=B4=EF=BC=8CmapperXml->xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +++++++------- .../mybatisplus/generator/config/OutputFile.java | 2 +- .../generator/config/TemplateConfig.java | 6 +++--- .../generator/config/builder/PathInfoHandler.java | 2 +- .../generator/engine/AbstractTemplateEngine.java | 2 +- .../config/builder/ConfigBuilderTest.java | 2 +- .../generator/samples/H2CodeGeneratorTest.java | 4 +--- 7 files changed, 15 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index efbb59c98..6df0d0164 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ FastAutoGenerator.create("url", "username", "password") .packageConfig(builder -> { builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名 .moduleName("system") // 设置父包模块名 - .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 设置mapperXml生成路径 + .pathInfo(Collections.singletonMap(OutputFile.xml, "D://")); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.addInclude("t_simple") // 设置需要生成的表名 @@ -131,10 +131,10 @@ new GlobalConfig.Builder(). | service(String) | Service 包名 | 默认值:service | | serviceImpl(String) | Service Impl 包名 | 默认值:service.impl | | mapper(String) | Mapper 包名 | 默认值:mapper | -| mapperXml(String) | Mapper XML 包名 | 默认值:mapper.xml | +| xml(String) | Mapper XML 包名 | 默认值:mapper.xml | | controller(String) | Controller 包名 | 默认值:controller | | other(String) | 自定义文件包名 | 输出自定义文件时所用到的包名 | -| pathInfo(Map) | 路径配置信息 | Collections.singletonMap(OutputFile.mapperXml, "D://") | +| pathInfo(Map) | 路径配置信息 | Collections.singletonMap(OutputFile.xml, "D://") | ```java new PackageConfig.Builder() @@ -144,10 +144,10 @@ new PackageConfig.Builder() .service("service") .serviceImpl("service.impl") .mapper("mapper") - .mapperXml("mapper.xml") + .xml("mapper.xml") .controller("controller") .other("other") - .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://") + .pathInfo(Collections.singletonMap(OutputFile.xml, "D://") .build(); ``` @@ -162,7 +162,7 @@ new PackageConfig.Builder() | service(String) | 设置 service 模板路径 | /templates/service.java | | serviceImpl(String) | 设置 serviceImpl 模板路径 | /templates/serviceImpl.java | | mapper(String) | 设置 mapper 模板路径 | /templates/mapper.java | -| mapperXml(String) | 设置 mapperXml 模板路径 | /templates/mapper.xml | +| xml(String) | 设置 mapperXml 模板路径 | /templates/mapper.xml | | controller(String) | 设置 controller 模板路径 | /templates/controller.java | ```java @@ -172,7 +172,7 @@ new TemplateConfig.Builder() .service("/templates/service.java") .serviceImpl("/templates/serviceImpl.java") .mapper("/templates/mapper.java") - .mapperXml("/templates/mapper.xml") + .xml("/templates/mapper.xml") .controller("/templates/controller.java") .build(); ``` diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/OutputFile.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/OutputFile.java index 62524c511..925a1409c 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/OutputFile.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/OutputFile.java @@ -26,7 +26,7 @@ public enum OutputFile { service, serviceImpl, mapper, - mapperXml, + xml, controller, other; } diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/TemplateConfig.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/TemplateConfig.java index 08a145887..80b155b2e 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/TemplateConfig.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/TemplateConfig.java @@ -276,11 +276,11 @@ public Builder mapper(@NotNull String mapperTemplate) { /** * 设置mapperXml模板路径 * - * @param mapperXmlTemplate xml模板路径 + * @param xmlTemplate xml模板路径 * @return this */ - public Builder mapperXml(@NotNull String mapperXmlTemplate) { - this.templateConfig.xml = mapperXmlTemplate; + public Builder xml(@NotNull String xmlTemplate) { + this.templateConfig.xml = xmlTemplate; return this; } diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/PathInfoHandler.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/PathInfoHandler.java index 7cfcbf468..77cdffc01 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/PathInfoHandler.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/builder/PathInfoHandler.java @@ -69,7 +69,7 @@ class PathInfoHandler { private void setDefaultPathInfo(GlobalConfig globalConfig, TemplateConfig templateConfig) { putPathInfo(templateConfig.getEntity(globalConfig.isKotlin()), OutputFile.entity, ConstVal.ENTITY); putPathInfo(templateConfig.getMapper(), OutputFile.mapper, ConstVal.MAPPER); - putPathInfo(templateConfig.getXml(), OutputFile.mapperXml, ConstVal.XML); + putPathInfo(templateConfig.getXml(), OutputFile.xml, ConstVal.XML); putPathInfo(templateConfig.getService(), OutputFile.service, ConstVal.SERVICE); putPathInfo(templateConfig.getServiceImpl(), OutputFile.serviceImpl, ConstVal.SERVICE_IMPL); putPathInfo(templateConfig.getController(), OutputFile.controller, ConstVal.CONTROLLER); diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java index 54a2a846e..4b4ce7a86 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/engine/AbstractTemplateEngine.java @@ -109,7 +109,7 @@ protected void outputMapper(@NotNull TableInfo tableInfo, @NotNull Map { String xmlFile = String.format((xmlPath + File.separator + tableInfo.getXmlName() + ConstVal.XML_SUFFIX), entityName); diff --git a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilderTest.java b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilderTest.java index 52cae5a53..831d119ff 100644 --- a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilderTest.java +++ b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/config/builder/ConfigBuilderTest.java @@ -44,7 +44,7 @@ void pathInfoTest() { Assertions.assertTrue(pathInfo.containsKey(OutputFile.controller)); Assertions.assertTrue(pathInfo.containsKey(OutputFile.service)); Assertions.assertTrue(pathInfo.containsKey(OutputFile.serviceImpl)); - Assertions.assertTrue(pathInfo.containsKey(OutputFile.mapperXml)); + Assertions.assertTrue(pathInfo.containsKey(OutputFile.xml)); Assertions.assertTrue(pathInfo.containsKey(OutputFile.mapper)); Assertions.assertTrue(pathInfo.containsKey(OutputFile.other)); diff --git a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/H2CodeGeneratorTest.java b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/H2CodeGeneratorTest.java index 868248765..3f6a9b59b 100644 --- a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/H2CodeGeneratorTest.java +++ b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/H2CodeGeneratorTest.java @@ -3,8 +3,6 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; -import com.baomidou.mybatisplus.generator.engine.BeetlTemplateEngine; -import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import com.baomidou.mybatisplus.generator.fill.Column; import com.baomidou.mybatisplus.generator.fill.Property; import org.apache.ibatis.jdbc.ScriptRunner; @@ -182,7 +180,7 @@ public void testCustomTemplateName() { public void testCustomTemplatePath() { // 设置自定义路径 Map pathInfo = new HashMap<>(); - pathInfo.put(OutputFile.mapperXml, "D://"); + pathInfo.put(OutputFile.xml, "D://"); pathInfo.put(OutputFile.entity, "D://entity//"); AutoGenerator generator = new AutoGenerator(DATA_SOURCE_CONFIG); generator.strategy(strategyConfig().build()); From 79dfa89cd990c3116a1990375f7b070ebb25dcd1 Mon Sep 17 00:00:00 2001 From: linjierong <19921Oo2> Date: Thu, 10 Feb 2022 15:26:41 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=9A=84=E6=98=AF=E5=90=A6=E9=9C=80=E8=A6=81=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E7=9A=84=E5=B1=9E=E6=80=A7=E7=9A=84BUG.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisplus/generator/config/po/TableField.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java index d7790ba9c..72d4e5ccc 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java @@ -111,8 +111,13 @@ public TableField setPropertyName(@NotNull String propertyName, @NotNull IColumn this.convert = true; this.propertyName = StringUtils.removePrefixAfterPrefixToLower(propertyName, 2); return this; - } else if(this.entity.getColumnNaming() != NamingStrategy.underline_to_camel) { - // 非下划线转驼峰策略,判断是否一致 + } + // 下划线转驼峰策略 + if (NamingStrategy.underline_to_camel.equals(this.entity.getColumnNaming())) { + this.convert = !propertyName.equalsIgnoreCase(NamingStrategy.underlineToCamel(this.columnName)); + } + // 原样输出策略 + if (NamingStrategy.no_change.equals(this.entity.getColumnNaming())) { this.convert = !propertyName.equalsIgnoreCase(this.columnName); } if (entity.isTableFieldAnnotationEnable()) { From 25a215dc67f51c8c8662d952f909c08844674aa9 Mon Sep 17 00:00:00 2001 From: linjierong <19921Oo2> Date: Thu, 10 Feb 2022 16:05:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=AD=96=E7=95=A5=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=9C=80=E8=A6=81=E7=94=9F=E6=88=90=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E8=BE=93=E5=85=A5=E7=94=A8=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=EF=BC=8C","=E5=8F=B7=E9=9A=94=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/baomidou/generator/issues/137 --- .../mybatisplus/generator/config/StrategyConfig.java | 5 +++++ .../generator/samples/FastAutoGeneratorTest.java | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/StrategyConfig.java b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/StrategyConfig.java index a2eeb54d9..d0b0bb9d1 100644 --- a/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/StrategyConfig.java +++ b/mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/StrategyConfig.java @@ -505,6 +505,11 @@ public Builder addInclude(@NotNull List includes) { return this; } + public Builder addInclude(@NotNull String include) { + this.strategyConfig.include.addAll(Arrays.asList(include.split(","))); + return this; + } + /** * 增加排除表 * diff --git a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/FastAutoGeneratorTest.java b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/FastAutoGeneratorTest.java index a384e0c51..646c9b08a 100644 --- a/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/FastAutoGeneratorTest.java +++ b/mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/generator/samples/FastAutoGeneratorTest.java @@ -44,11 +44,11 @@ public static void main(String[] args) throws SQLException { before(); FastAutoGenerator.create(DATA_SOURCE_CONFIG) // 全局配置 - .globalConfig((scanner, builder) -> builder.author(scanner.apply("请输入作者名称?")).fileOverride()) + .globalConfig((scanner, builder) -> builder.author(scanner.apply("请输入作者名称"))) // 包配置 - .packageConfig((scanner, builder) -> builder.parent(scanner.apply("请输入包名?"))) + .packageConfig((scanner, builder) -> builder.parent(scanner.apply("请输入包名"))) // 策略配置 - .strategyConfig(builder -> builder.addInclude("t_simple")) + .strategyConfig((scanner, builder) -> builder.addInclude(scanner.apply("请输入表名,多个表名用,隔开"))) /* 模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker .templateEngine(new BeetlTemplateEngine())