依赖
<!--mybatis-plus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!--自动生成代码-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--freemarker模板-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<!--knife4j依赖-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.7</version>
</dependency>
public static void main(String[] args) {
List<String> tables = new ArrayList<>();
tables.add("user");
FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true",
"root",
"333")
//全局配置
.globalConfig(builder -> {
builder.author("MaybeBin") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.disableOpenDir() // 禁止打开输出目录
.dateType(DateType.TIME_PACK) // 时间策略
.commentDate("yyyy-MM-dd") // 注释日期
.outputDir(System.getProperty("user.dir")
+ "/src/main/java"); // 指定输出目录
})
//包配置
.packageConfig(builder -> {
builder.entity("model")
.service("service")
.serviceImpl("serviceImpl")
.controller("controller")
.parent("com.chen.test") // 设置父包名
//.moduleName("system") // 设置父包模块名
.mapper("mapper") // Mapper 包名
.xml("mapper") // Mapper XML 包名
.pathInfo(Collections.singletonMap(
OutputFile.mapperXml,
System.getProperty("user.dir")
+ "/src/main/resources/mapper")); // 设置mapperXml生成路径
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude(tables) // 设置需要生成的表名
.addTablePrefix("t_") // 表前缀过滤
.entityBuilder() // 切换至Entity设置
.versionColumnName("version") // 乐观锁字段名(数据库)
.logicDeleteColumnName("isDeleted") // 逻辑删除字段名(数据库)
.enableLombok() // lombok生效
.enableTableFieldAnnotation() // 所有实体类加注解
.serviceBuilder() // 切换至Service层设置
.formatServiceFileName("%sService") // 设定后缀名
.formatServiceImplFileName("%sServiceImpl"); // 设定后缀名
})
//模板配置
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}