com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert Java Examples
The following examples show how to use
com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("F:\\workSpace\\meeting_workspace\\meeting_film\\meeting_film_backend\\guns\\guns-alipay\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("jiangzh"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword(""); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[]{"mooc_order_2017_t"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.common.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #2
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("F:\\workSpace\\meeting_workspace\\meeting_film\\meeting_film_backend\\guns\\guns-order\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("jiangzh"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword(""); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[]{"mooc_order_2017_t","mooc_order_2018_t"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.common.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #3
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("F:\\workSpace\\meeting_workspace\\meeting_film\\meeting_film_backend\\guns\\guns-user\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("jiangzh"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword(""); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[]{"mooc_user_t"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.common.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #4
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("D:\\tmp\\guns\\guns-rest\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("stylefeng"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/rest?characterEncoding=utf8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[]{"user"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #5
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("G:\\BaiduNetdiskDownload\\应用Dubbo框架打造仿猫眼项目\\MeetingFilm\\guns-cinema\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("jiangzh"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456789qwER#"); dsc.setUrl("jdbc:mysql://119.3.214.253:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 // strategy.setInclude(new String[]{"mooc_banner_t","mooc_cat_dict_t","mooc_area_dict_t","mooc_year_dict_t","mooc_film_t","mooc_film_info_t","mooc_actor_t"}); // strategy.setInclude(new String[]{"mooc_source_dict_t"}); strategy.setInclude(new String[]{"mooc_hall_film_info_t"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.common.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #6
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("D:\\tmp\\guns\\guns-rest\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("stylefeng"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/rest?characterEncoding=utf8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 strategy.setInclude(new String[]{"user"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #7
Source File: EntityGenerator.java From MeetingFilm with Apache License 2.0 | 4 votes |
@Test public void entityGenerator() { AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("F:\\workSpace\\meeting_workspace\\meeting_film\\meeting_film_backend\\guns\\guns-film\\src\\main\\java");//这里写你自己的java目录 gc.setFileOverride(true);//是否覆盖 gc.setActiveRecord(true); gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList gc.setAuthor("jiangzh"); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword(""); dsc.setUrl("jdbc:mysql://127.0.0.1:3306/guns_rest?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //strategy.setTablePrefix(new String[]{"_"});// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 // strategy.setInclude(new String[]{"mooc_banner_t","mooc_cat_dict_t","mooc_area_dict_t","mooc_year_dict_t","mooc_film_t","mooc_film_info_t","mooc_actor_t"}); // strategy.setInclude(new String[]{"mooc_source_dict_t"}); strategy.setInclude(new String[]{"mooc_film_actor_t"}); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent(null); pc.setEntity("com.stylefeng.guns.rest.common.persistence.model"); pc.setMapper("com.stylefeng.guns.rest.common.persistence.dao"); pc.setXml("com.stylefeng.guns.rest.common.persistence.dao.mapping"); pc.setService("TTT"); //本项目没用,生成之后删掉 pc.setServiceImpl("TTT"); //本项目没用,生成之后删掉 pc.setController("TTT"); //本项目没用,生成之后删掉 mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { Map<String, Object> map = new HashMap<>(); map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); } }; mpg.setCfg(cfg); // 执行生成 mpg.execute(); // 打印注入设置 System.err.println(mpg.getCfg().getMap().get("abc")); }
Example #8
Source File: CodeGenerator.java From kvf-admin with MIT License | 4 votes |
private static void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) { GlobalConfig config = new GlobalConfig(); DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL).setUrl(dbUrl).setUsername(dbUsername).setPassword(dbPassword) .setDriverName("com.mysql.jdbc.Driver").setTypeConvert((globalConfig, s) -> { if (s.contains("tinyint(1)")) { // 自定义数据库表字段类型转换 return DbColumnType.INTEGER; } return new MySqlTypeConvert().processTypeConvert(globalConfig, s); }); StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig .setCapitalMode(true) .setEntityLombokModel(true) // .setDbColumnUnderline(true) .setTablePrefix(tablePrefix) .setNaming(NamingStrategy.underline_to_camel) .setInclude(tableNames)//修改替换成你需要的表名,多个表名传数组 .setRestControllerStyle(true) .setSuperEntityClass("com.kalvin.kvf.common.entity.BaseEntity") .setSuperControllerClass("com.kalvin.kvf.common.controller.BaseController"); config.setActiveRecord(false) .setAuthor(author) .setOutputDir(outputDir) .setFileOverride(true) .setEnableCache(false) .setBaseResultMap(true) .setBaseColumnList(true); TemplateConfig tc = new TemplateConfig(); if (!serviceNameStartWithI) { config.setServiceName("%sService"); config.setMapperName("%sMapper"); } new AutoGenerator().setGlobalConfig(config) .setTemplate(tc) .setDataSource(dataSourceConfig) .setStrategy(strategyConfig) .setPackageInfo( new PackageConfig() .setParent(packageName) .setEntity("entity.sys") .setMapper("mapper.sys") .setController("controller.sys") .setService("service.sys") .setServiceImpl("service.sys") .setXml("xml.sys") ).execute(); }
Example #9
Source File: GenerateService.java From cola-cloud with MIT License | 4 votes |
@PostConstruct public void init(){ globalConfig= new GlobalConfig(); globalConfig.setFileOverride(true); globalConfig.setActiveRecord(false); // XML 二级缓存 globalConfig.setEnableCache(false); // XML ResultMap globalConfig.setBaseResultMap(false); // XML columList globalConfig.setBaseColumnList(false); // 自定义文件命名,注意 %s 会自动填充表实体属性! globalConfig.setMapperName("%sMapper"); globalConfig.setXmlName("%sMapper"); globalConfig.setServiceName("%sService"); globalConfig.setServiceImplName("%sServiceImpl"); globalConfig.setControllerName("%sController"); // 数据源配置 dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); dataSourceConfig.setTypeConvert(new MySqlTypeConvert(){ // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { System.out.println("转换类型:" + fieldType); // 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。 return super.processTypeConvert(fieldType); } }); dataSourceConfig.setDriverName(dataSourceProperties.getDriverClassName()); dataSourceConfig.setUsername(dataSourceProperties.getUsername()); dataSourceConfig.setPassword(dataSourceProperties.getPassword()); dataSourceConfig.setUrl(dataSourceProperties.getUrl()); // 策略配置 strategyConfig = new StrategyConfig(); // 表名生成策略 strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 需要生成的表 // 自定义 service 父类 strategyConfig.setSuperServiceClass("com.honvay.cola.cloud.framework.base.service.BaseService"); // 自定义 service 实现类父类 strategyConfig.setSuperServiceImplClass("com.honvay.cola.cloud.framework.base.service.impl.BaseServiceImpl"); // 自定义 controller 父类 strategyConfig.setSuperControllerClass("com.honvay.cola.cloud.framework.base.controller.BaseController"); strategyConfig.setEntityLombokModel(true); strategyConfig.setRestControllerStyle(true); strategyConfig.setEntityBuilderModel(true); packageConfig = new PackageConfig(); packageConfig.setController("controller"); packageConfig.setEntity("entity"); packageConfig.setMapper("mapper"); packageConfig.setService("service"); packageConfig.setServiceImpl("service.impl"); entityNameRewriter = new EntityNameRewriter(); }
Example #10
Source File: BladeCodeGenerator.java From blade-tool with GNU Lesser General Public License v3.0 | 4 votes |
public void run() { Properties props = getProperties(); AutoGenerator mpg = new AutoGenerator(); GlobalConfig gc = new GlobalConfig(); String outputDir = getOutputDir(); String author = props.getProperty("author"); gc.setOutputDir(outputDir); gc.setAuthor(author); gc.setFileOverride(true); gc.setOpen(false); gc.setActiveRecord(false); gc.setEnableCache(false); gc.setBaseResultMap(true); gc.setBaseColumnList(true); gc.setMapperName("%sMapper"); gc.setXmlName("%sMapper"); gc.setServiceName("I%sService"); gc.setServiceImplName("%sServiceImpl"); gc.setControllerName("%sController"); gc.setSwagger2(isSwagger2); mpg.setGlobalConfig(gc); DataSourceConfig dsc = new DataSourceConfig(); String driverName = Func.toStr(this.driverName, props.getProperty("spring.datasource.driver-class-name")); if (StringUtil.containsAny(driverName, DbType.MYSQL.getDb())) { dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert()); } else if (StringUtil.containsAny(driverName, DbType.POSTGRE_SQL.getDb())) { dsc.setDbType(DbType.POSTGRE_SQL); dsc.setTypeConvert(new PostgreSqlTypeConvert()); } else { dsc.setDbType(DbType.ORACLE); dsc.setTypeConvert(new OracleTypeConvert()); } dsc.setDriverName(driverName); dsc.setUrl(Func.toStr(this.url, props.getProperty("spring.datasource.url"))); dsc.setUsername(Func.toStr(this.username, props.getProperty("spring.datasource.username"))); dsc.setPassword(Func.toStr(this.password, props.getProperty("spring.datasource.password"))); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // strategy.setCapitalMode(true);// 全局大写命名 // strategy.setDbColumnUnderline(true);//全局下划线命名 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setTablePrefix(tablePrefix); if (includeTables.length > 0) { strategy.setInclude(includeTables); } if (excludeTables.length > 0) { strategy.setExclude(excludeTables); } if (hasSuperEntity) { strategy.setSuperEntityClass("org.springblade.core.mp.base.BaseEntity"); strategy.setSuperEntityColumns(superEntityColumns); strategy.setSuperServiceClass("org.springblade.core.mp.base.BaseService"); strategy.setSuperServiceImplClass("org.springblade.core.mp.base.BaseServiceImpl"); } else { strategy.setSuperServiceClass("com.baomidou.mybatisplus.extension.service.IService"); strategy.setSuperServiceImplClass("com.baomidou.mybatisplus.extension.service.impl.ServiceImpl"); } // 自定义 controller 父类 strategy.setSuperControllerClass("org.springblade.core.boot.ctrl.BladeController"); strategy.setEntityBuilderModel(false); strategy.setEntityLombokModel(true); strategy.setControllerMappingHyphenStyle(true); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); // 控制台扫描 pc.setModuleName(null); pc.setParent(packageName); pc.setController("controller"); pc.setEntity("entity"); pc.setXml("mapper"); mpg.setPackageInfo(pc); mpg.setCfg(getInjectionConfig()); mpg.execute(); }