diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java index 0a3b4edf..35ea08bb 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/EntityConfig.java @@ -56,6 +56,11 @@ public class EntityConfig { */ private boolean withLombok; + /** + * 实体类数据源。 + */ + private String dataSource; + /** * 获取类前缀。 */ @@ -146,4 +151,19 @@ public class EntityConfig { return this; } -} \ No newline at end of file + /** + * 获取实体类数据源。 + */ + public String getDataSource() { + return dataSource; + } + + /** + * 设置实体类数据源。 + */ + public EntityConfig setDataSource(String dataSource) { + this.dataSource = dataSource; + return this; + } + +} diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java index a7036647..b2d94b0d 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java @@ -877,6 +877,20 @@ public class GlobalConfig { getEntityConfig().setWithLombok(entityWithLombok); } + /** + * @see EntityConfig#getDataSource() + */ + public String getEntityDataSource() { + return getEntityConfig().getDataSource(); + } + + /** + * @see EntityConfig#setDataSource(String) + */ + public void setEntityDataSource(String dataSource) { + getEntityConfig().setDataSource(dataSource); + } + public boolean isMapperGenerateEnable() { return mapperGenerateEnable; } @@ -1248,28 +1262,28 @@ public class GlobalConfig { /** * @see TableDefConfig#getPropertiesNameStyle() */ - public TableDefConfig.NameStyle getPropertiesNameStyle() { + public TableDefConfig.NameStyle getTableDefPropertiesNameStyle() { return getTableDefConfig().getPropertiesNameStyle(); } /** * @see TableDefConfig#setPropertiesNameStyle(TableDefConfig.NameStyle) */ - public void setPropertiesNameStyle(TableDefConfig.NameStyle propertiesNameStyle) { + public void setTableDefPropertiesNameStyle(TableDefConfig.NameStyle propertiesNameStyle) { getTableDefConfig().setPropertiesNameStyle(propertiesNameStyle); } /** * @see TableDefConfig#getInstanceSuffix() */ - public String getInstanceSuffix() { + public String getTableDefInstanceSuffix() { return getTableDefConfig().getInstanceSuffix(); } /** * @see TableDefConfig#setInstanceSuffix(String) */ - public void setInstanceSuffix(String instanceSuffix) { + public void setTableDefInstanceSuffix(String instanceSuffix) { getTableDefConfig().setInstanceSuffix(instanceSuffix); } diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java index 818bec46..4ad6fbe1 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java @@ -223,6 +223,12 @@ public class Table { tableAnnotation.append(", schema = \"").append(globalSchema).append("\""); } + // 添加 dataSource 配置,因为代码生成器是一个数据源生成的,所以这些实体类应该都是一个数据源。 + String dataSource = globalConfig.getEntityDataSource(); + if (StringUtil.isNotBlank(dataSource)) { + tableAnnotation.append(", dataSource = \"").append(dataSource).append("\""); + } + if (tableConfig != null) { if (StringUtil.isNotBlank(tableConfig.getSchema())) { tableAnnotation.append(", schema = \"").append(tableConfig.getSchema()).append("\""); diff --git a/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java index 193fe612..e6a7244d 100644 --- a/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java +++ b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java @@ -23,6 +23,7 @@ import com.mybatisflex.codegen.config.TableConfig; import com.mybatisflex.codegen.config.TableDefConfig; import com.mybatisflex.spring.service.impl.CacheableServiceImpl; import com.zaxxer.hikari.HikariDataSource; +import org.junit.Test; import java.util.function.UnaryOperator; @@ -100,19 +101,19 @@ public class GeneratorTest { //设置注解生成配置 globalConfig.getJavadocConfig() - .setAuthor("王帅") - .setTableCommentFormat(tableFormat); + .setAuthor("王帅") + .setTableCommentFormat(tableFormat); //设置生成文件目录和根包 globalConfig.getPackageConfig() - .setSourceDir(System.getProperty("user.dir") + "/src/test/java") - .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper") - .setBasePackage("com.test"); + .setSourceDir(System.getProperty("user.dir") + "/src/test/java") + .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper") + .setBasePackage("com.test"); //设置表前缀和只生成哪些表 globalConfig.getStrategyConfig() - .setTablePrefix("sys_") - .setGenerateTable("sys_user"); + .setTablePrefix("sys_") + .setGenerateTable("sys_user"); //设置模板路径 //globalConfig.getTemplateConfig() @@ -120,9 +121,9 @@ public class GeneratorTest { //配置生成 entity globalConfig.enableEntity() - .setOverwriteEnable(true) - .setWithLombok(true) - .setSupperClass(BaseEntity.class); + .setOverwriteEnable(true) + .setWithLombok(true) + .setSupperClass(BaseEntity.class); //配置生成 mapper globalConfig.enableMapper(); @@ -130,8 +131,8 @@ public class GeneratorTest { globalConfig.enableService(); //配置生成 serviceImpl globalConfig.enableServiceImpl() - .setSupperClass(CacheableServiceImpl.class) - .setCacheExample(true); + .setSupperClass(CacheableServiceImpl.class) + .setCacheExample(true); //配置生成 controller globalConfig.enableController(); //配置生成 tableDef @@ -148,7 +149,7 @@ public class GeneratorTest { generator.generate(); } -// @Test + @Test public void testCodeGen3() { //配置数据源 HikariDataSource dataSource = new HikariDataSource(); @@ -163,14 +164,14 @@ public class GeneratorTest { //设置注解生成配置 globalConfig.getJavadocConfig() - .setAuthor("王帅") - .setTableCommentFormat(tableFormat); + .setAuthor("王帅") + .setTableCommentFormat(tableFormat); //设置生成文件目录和根包 globalConfig.getPackageConfig() - .setSourceDir(System.getProperty("user.dir") + "/src/test/java") - .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper") - .setBasePackage("com.test"); + .setSourceDir(System.getProperty("user.dir") + "/src/test/java") + .setMapperXmlPath(System.getProperty("user.dir") + "/src/test/java/resources/mapper") + .setBasePackage("com.test"); ColumnConfig columnConfig = new ColumnConfig(); columnConfig.setColumnName("phonenumber"); @@ -186,26 +187,27 @@ public class GeneratorTest { //设置表前缀和只生成哪些表 globalConfig.getStrategyConfig() - .setTablePrefix("sys_") - .setGenerateTable("sys_user") - .setColumnConfig(logicDelete) - .setTableConfig(tableConfig); + .setTablePrefix("sys_") + .setGenerateTable("sys_user") + .setColumnConfig(logicDelete) + .setTableConfig(tableConfig); //配置生成 tableDef globalConfig.enableTableDef() - .setInstanceSuffix("Def") - .setPropertiesNameStyle(TableDefConfig.NameStyle.LOWER_CAMEL_CASE) - .setOverwriteEnable(true); + .setInstanceSuffix("Def") + .setPropertiesNameStyle(TableDefConfig.NameStyle.LOWER_CAMEL_CASE) + .setOverwriteEnable(true); // 配置生成 entity globalConfig.enableEntity() - .setOverwriteEnable(true) - .setWithLombok(true); + .setOverwriteEnable(true) + .setDataSource("ds1") + .setWithLombok(true); // 配置生成 mapper globalConfig.enableMapper() - .setOverwriteEnable(true) - .setMapperAnnotation(true); + .setOverwriteEnable(true) + .setMapperAnnotation(true); //通过 datasource 和 globalConfig 创建代码生成器 Generator generator = new Generator(dataSource, globalConfig);