一、引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis.plus.generator}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<scope>test</scope>
<optional>true</optional>
</dependency>
备注:这里mybatis-plus-generator 的最新版本是3.5.2。
二、代码示例
public class MybatisPlusCodeAutoGeneration {
private static final String URL = "jdbc:mysql://localhost:3306/rbac";
private static final String USERNAME = "root";
private static final String PASSWORD = "root";
private static final String OUTPUT_DIR = System.getProperty("user.dir") + File.separator + "src/test/java/com/universe";
public static void main(String[] args) {
FastAutoGenerator.create(URL, USERNAME, PASSWORD)
.globalConfig(builder -> builder.author("liuyalou").fileOverride().disableOpenDir().outputDir(OUTPUT_DIR))
.packageConfig(builder -> builder.parent("com.universe").entity("pojo.domain"))
.strategyConfig(builder -> builder.addInclude("t_user").addTablePrefix("t_")
.entityBuilder().disableSerialVersionUID().formatFileName("%sDO")
.mapperBuilder().formatMapperFileName("%sMapper").formatXmlFileName("%sMapper")
.build()
)
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}
备注: 1、具体配置参考 MyBatis Plus代码生成器配置。 2、更多代码示例参考 MyBatis Plus Generator代码示例。
三、测试结果
1、控制台输出
16:43:03.444 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================准备生成文件...==========================
16:43:03.910 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show table status WHERE 1=1 AND NAME IN ('t_user')
16:43:03.958 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:1,耗时(ms):45
16:43:04.016 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show full fields from `t_user`
16:43:04.030 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:8,耗时(ms):28
16:43:04.246 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================文件生成完成!!!==========================
2、生成的代码
可以看到com.universe 包下有自动生成的代码,如下:
备注:建议配置packageConfig(builder -> builder.parent("com.universe")) 时,包名与实际工程包目录结构保持一致,这样生成的代码不用修改可以直接复制。
|