<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.32</version>
</dependency>
package com.example.springboot01.blogs.generator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
/**
* <p>
* 代码生成器
* </p>
*
* @author fcy
* @since 2023-11-22
*/
public class AutoGenerator {
public static void main(String[] args) {
//父包名,test为最终生成的包位置,替换成自己的即可
String parentPackage = "com.example.springboot01.blogs";
String mapperXmlPath = "/src/main/resources/mapper";
String url = "jdbc:mysql://localhost:3306/fcy_blogs?useUnicode=true&characterEncoding=UTF-8";
String username = "root";
String password = "root";
String table = "sys_user";
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author("fcy") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir(System.getProperty("user.dir") + "/src/main/java") // 指定输出目录
.dateType(DateType.ONLY_DATE) //时间策略
.commentDate("yyyy-MM-dd HH:mm:ss"); //注释日期
})
.packageConfig(builder -> {
builder.parent(parentPackage) // 设置父包名
// .moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml,System.getProperty("user.dir") + mapperXmlPath)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude(table); // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}