package cn.lijin.config;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* <p>
* 代码生成器演示
* </p>
*/
public class MpGenerator {
final static String dirPath = "D://projects//YWG00017利津创新网格化服务管理平台//代码//01.主分支//lijin-kpi//src//main//java";
/**
* <p>
* ORACLE 生成演示
* </p>
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 选择 freemarker 引擎,默认 Veloctiy
//mpg.setTemplateEngine(new FreemarkerTemplateEngine());
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setAuthor("tang");
gc.setOutputDir(dirPath);
gc.setActiveRecord(false);// 是否支持ActiveRecord
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// mapper映射文件是否生成BaseResultMap
gc.setBaseColumnList(false);// XML 是否生成BaseColumn
/* 自定义文件命名,注意 %s 会自动填充表实体属性! */
// gc.setMapperName("%sDao");
// gc.setXmlName("%sDao");
// gc.setServiceName("MP%sService");
// gc.setServiceImplName("%sServiceDiy");
// gc.setControllerName("%sAction");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.ORACLE);
dsc.setTypeConvert(new MySqlTypeConvert() {
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
System.out.println("转换类型:" + fieldType);
// 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。
return super.processTypeConvert(fieldType);
}
});
dsc.setDriverName("oracle.jdbc.driver.OracleDriver");
dsc.setUsername("SCM_DYWGH");
dsc.setPassword("SCM_DYWGH");
dsc.setUrl("jdbc:oracle:thin:@wx.gisocn.com:1540:orcl");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
//strategy.setTablePrefix(new String[] { "user_" });// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
//strategy.setInclude(new String[] { "DB_LIST","DB_ZFZT","DB_ZFRY","DB_QZQD","DB_NSRQLYW","DB_JDJJTJ","DB_JDJJQD"}); // 批量生成表
strategy.setInclude(new String[] { "ACCOUNTS" }); // 需要生成的表
// strategy.setExclude(new String[]{"test"}); // 排除生成的表
mpg.setStrategy(strategy);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("cn.lijin") // 所有包的父包
.setEntity("entity") // 实体类包
.setMapper("mapper") // mapper接口
.setXml("mapper.xml") // xml文件
.setService("service") // service文件
.setServiceImpl("service.impl") // serviceImpl文件
.setController("controller"); // controller层的包
mpg.setPackageInfo(packageConfig);
// 执行生成
mpg.execute();
}
}