mybatis-plus-generator 使用3.5.1版本,使用的时候踩了一些坑。现在把完整的代码记录一下。
pom文件导入
代码语言:javascript复制<!-- mybatis-plus集成依赖包 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 模板引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
<!--逆向工程需要模板引擎-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
代码语言:javascript复制import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;
public class MyBatisPlusGenerator {
public static void main(String[] args) {
String projectPath = System.getProperty("user.dir");
// 数据源配置
DataSourceConfig.Builder dataSourceConfig = new DataSourceConfig
.Builder(
"jdbc:mysql://127.0.0.1:3306/training?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8",
"root",
"xxxxxx")
.dbQuery(new MySqlQuery())
.typeConvert(new MySqlTypeConvert())
.keyWordsHandler(new MySqlKeyWordsHandler());
FastAutoGenerator.create(dataSourceConfig)
.globalConfig(builder -> {
builder.author("Author") //设置作者
.commentDate("YYYY-MM-DD HH:mm:ss")//注释日期
.outputDir(projectPath "/service-user/src/main/java/com/demo/user"); //指定输出目录
})
.packageConfig(builder -> {
builder.parent(""); // 设置父包名
})
.strategyConfig(builder -> {
builder.addInclude("tb_user") // 设置需要生成的表名
.addTablePrefix("tb_"); // 设置过滤表前缀
builder.entityBuilder().enableLombok();//开启 lombok 模型
builder.entityBuilder().enableTableFieldAnnotation();//开启生成实体时生成字段注解
builder.controllerBuilder().enableRestStyle();//开启生成@RestController 控制器
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
代码生成器更多配置请参