| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package com.fdkankan.task.generate;
- import com.mybatisflex.codegen.Generator;
- import com.mybatisflex.codegen.config.ColumnConfig;
- import com.mybatisflex.codegen.config.GlobalConfig;
- import com.mybatisflex.codegen.dialect.JdbcTypeMapping;
- import com.mybatisflex.core.FlexGlobalConfig;
- import com.zaxxer.hikari.HikariDataSource;
- import java.sql.Timestamp;
- import java.time.LocalDateTime;
- import java.util.*;
- public class AutoGenerate {
- public static void main(String[] args) {
- String path =System.getProperty("user.dir");
- //配置数据源
- HikariDataSource dataSource = new HikariDataSource();
- dataSource.setJdbcUrl("jdbc:mysql://120.24.144.164:3306/4dkankan_v4_sale?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true");
- dataSource.setUsername("root");
- dataSource.setPassword("4Dage@4Dage#@168");
- //创建配置内容,两种风格都可以。
- GlobalConfig globalConfig = createGlobalConfigUseStyle1("com.fdkankan.task",new String[]{
- "t_repair","t_repair_log"
- });
- //GlobalConfig globalConfig = createGlobalConfigUseStyle2();
- //通过 datasource 和 globalConfig 创建代码生成器
- Generator generator = new Generator(dataSource, globalConfig);
- //生成代码
- generator.generate();
- }
- public static GlobalConfig createGlobalConfigUseStyle1(String packageName,String[] table) {
- FlexGlobalConfig globalConfig2 = FlexGlobalConfig.getDefaultConfig();
- //设置数据库正常时的值
- globalConfig2.setNormalValueOfLogicDelete("I");
- //设置数据已被删除时的值
- globalConfig2.setDeletedValueOfLogicDelete("A");
- //创建配置内容
- GlobalConfig globalConfig = new GlobalConfig();
- //设置根包
- globalConfig.setBasePackage(packageName);
- //设置表前缀和只生成哪些表
- globalConfig.setTablePrefix("t_");
- globalConfig.setGenerateTable(table);
- //设置生成 entity 并启用 Lombok
- globalConfig.setEntityGenerateEnable(true);
- globalConfig.setEntityWithLombok(true);
- globalConfig.setEntityOverwriteEnable(true);
- globalConfig.setLogicDeleteColumn("rec_status");
- //设置生成 mapper
- globalConfig.setMapperGenerateEnable(true);
- globalConfig.setServiceGenerateEnable(true);
- globalConfig.setServiceImplGenerateEnable(true);
- globalConfig.setControllerGenerateEnable(true);
- JdbcTypeMapping.registerMapping(LocalDateTime.class, Date.class);
- JdbcTypeMapping.registerMapping(Timestamp.class, Date.class);
- return globalConfig;
- }
- public static GlobalConfig createGlobalConfigUseStyle2() {
- //创建配置内容
- GlobalConfig globalConfig = new GlobalConfig();
- //设置根包
- globalConfig.getPackageConfig()
- .setBasePackage("com.test");
- //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表
- globalConfig.getStrategyConfig()
- .setTablePrefix("tb_")
- .setGenerateTable("tb_account", "tb_account_session");
- //设置生成 entity 并启用 Lombok
- globalConfig.enableEntity()
- .setWithLombok(true);
- //设置生成 mapper
- globalConfig.enableMapper();
- //可以单独配置某个列
- ColumnConfig columnConfig = new ColumnConfig();
- columnConfig.setColumnName("tenant_id");
- columnConfig.setLarge(true);
- columnConfig.setVersion(true);
- globalConfig.getStrategyConfig()
- .setColumnConfig("tb_account", columnConfig);
- return globalConfig;
- }
- }
|