注意:適用版本:mybatis-plus-generator 3.5.1 及其以上版本,對(duì)歷史版本不兼容!
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
當(dāng)前包未傳遞依賴(lài) MP 包,需要自己引入!
FastAutoGenerator.create("url", "username", "password")
.globalConfig(builder -> {
builder.author("baomidou") // 設(shè)置作者
.enableSwagger() // 開(kāi)啟 swagger 模式
.fileOverride() // 覆蓋已生成文件
.outputDir("D://"); // 指定輸出目錄
})
.packageConfig(builder -> {
builder.parent("com.baomidou.mybatisplus.samples.generator") // 設(shè)置父包名
.moduleName("system") // 設(shè)置父包模塊名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 設(shè)置mapperXml生成路徑
})
.strategyConfig(builder -> {
builder.addInclude("t_simple") // 設(shè)置需要生成的表名
.addTablePrefix("t_", "c_"); // 設(shè)置過(guò)濾表前綴
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認(rèn)的是Velocity引擎模板
.execute();
FastAutoGenerator.create(DATA_SOURCE_CONFIG)
// 全局配置
.globalConfig((scanner, builder) -> builder.author(scanner.apply("請(qǐng)輸入作者名稱(chēng)?")).fileOverride())
// 包配置
.packageConfig((scanner, builder) -> builder.parent(scanner.apply("請(qǐng)輸入包名?")))
// 策略配置
.strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("請(qǐng)輸入表名,多個(gè)英文逗號(hào)分隔?所有輸入 all")))
.controllerBuilder().enableRestStyle().enableHyphenStyle()
.entityBuilder().enableLombok().addTableFills(
new Column("create_time", FieldFill.INSERT)
).build())
/*
模板引擎配置,默認(rèn) Velocity 可選模板引擎 Beetl 或 Freemarker
.templateEngine(new BeetlTemplateEngine())
.templateEngine(new FreemarkerTemplateEngine())
*/
.execute();
// 處理 all 情況
protected static List<String> getTables(String tables) {
return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
}
更多建議: