新增依賴:
<!-- 程式碼自動生成器依賴-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
快速生成
public class Generate {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/dbtest?useUnicode=true&characterEncoding=UTF-8",
"root",
"123456")
.globalConfig(builder -> {
builder.author("wang") // 設定作者
.enableSwagger() // 開啟 swagger 模式
.fileOverride() // 覆蓋已生成檔案
.outputDir("E:\\springboot\\bootdemo\\src\\main\\java"); // 指定輸出目錄
})
.dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
if (typeCode == Types.SMALLINT) {
// 自定義型別轉換
return DbColumnType.INTEGER;
}
return typeRegistry.getColumnType(metaInfo);
}))
.packageConfig(builder -> {
builder.parent("com.itszt.bootdemo") // 設定父包名
// .moduleName("test") // 設定父包模組名
.entity("pojo") //設定entity包名
.mapper("mapper") //設定mapper包名
.pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\springboot\\bootdemo\\src\\main\\resources\\mappers")); // 設定mapperXml生成路徑
})
.strategyConfig(builder -> {
builder.addInclude("user"); // 設定需要生成的表名
// .addTablePrefix("t_", "c_"); // 設定過濾表字首
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,預設的是Velocity引擎模板
.execute();
}
}