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/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/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/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()) { 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/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()) 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());