**
* 代码生成器
*/
public class Generator {
private static final String AUTHOR = "作者";
private static final String PARENT_PACKAGE = "com.demo";
private static final String Module_Name = "mall";
private static final String DB_URL = "jdbc:mysql://localhost:3306/icoding_mall?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8";
private static final String DB_USER = "root";
private static final String DB_PWD = "mysql";
private static final String[] Tables = {
"im_buycart",
"im_carousel"};
@Test
public void genCode() {
AutoGenerator mpg = new AutoGenerator();
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setFileOverride(false);
gc.setActiveRecord(false);
gc.setEnableCache(false);
gc.setBaseResultMap(false);
gc.setBaseColumnList(false);
gc.setOpen(false);
gc.setAuthor(AUTHOR);
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setIdType(IdType.ID_WORKER_STR);
gc.setDateType(DateType.ONLY_DATE);
gc.setSwagger2(true);
mpg.setGlobalConfig(gc);
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername(DB_USER);
dsc.setPassword(DB_PWD);
dsc.setUrl(DB_URL);
mpg.setDataSource(dsc);
PackageConfig pc = new PackageConfig();
pc.setModuleName(Module_Name);
pc.setParent(PARENT_PACKAGE);
pc.setController("controller");
pc.setMapper("mapper");
pc.setService("service");
pc.setEntity("entity");
mpg.setPackageInfo(pc);
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude(Tables);
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setLogicDeleteFieldName("is_delete");
strategy.setEntityBooleanColumnRemoveIsPrefix(true);
strategy.setTablePrefix("im_");
TableFill gmtCreate = new TableFill("create_time", FieldFill.INSERT);
TableFill gmtModified = new TableFill("update_time",FieldFill.INSERT_UPDATE);
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(gmtCreate);
tableFills.add(gmtModified);
strategy.setTableFillList(tableFills);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true) ;
mpg.setStrategy(strategy);
mpg.execute();
}
}