添加基础代码生成器,项目管理子模块

This commit is contained in:
mi9688
2024-09-25 12:46:22 +08:00
parent 9213e44988
commit d14f215f3a
6 changed files with 144 additions and 1 deletions

View File

@ -0,0 +1,92 @@
package com.fastbee.common.utils.generate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import java.util.ArrayList;
import java.util.List;
/**
* 代码生成器根据数据库表结构生成对应的实体类、Mapper接口、Service接口、Controller等基础代码
* @author 蒾酒
*/
public class CodeGenerator {
public static void main(String[] args) {
getCode();
}
public static void getCode() {
//TODO 修改为自己的数据库信息
String url = "jdbc:mysql://w.hanzhenyun.com:3306/wumei2.4?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
String username = "wumei2.4";
String password = "rtB8EhbRRYSGyxHw";
//TODO 修改为自己的表名
List<String> tables = new ArrayList<>();//需要生成对应代码的表名的集合
tables.add("project");
FastAutoGenerator.create(url, username, password)
//全局配置----------------------------------------------------------------------------------------
.globalConfig(builder -> {
builder
.author("蒾酒")//TODO 修改为自己名称
.outputDir(System.getProperty("user.dir") + "\\fastbee-service\\fastbee-project-service\\src\\main\\java")//生成文件输出基础路径(父模块路径)
// .enableSwagger() //开启swagger会自动添加swagger相关注解
.commentDate("yyyy-MM-dd");//日期格式
})
//包名配置--------------------------------------------------------------------------------------------
.packageConfig(builder ->
builder
.parent("com.fastbee.project")//TODO 修改为项目的具体业务模块
.entity("domain")//数据库实体类输出路径
.service("service")//业务接口输出路径
.serviceImpl("service.impl")//业务实现类输出路径
// .controller("controller")//控制器输出路径
.mapper("mapper")//映射文件输出路径
.xml("mapper/xml")//XML文件输出路径
)
//策略配置-----------------------------------------------------------------------------------------
.strategyConfig(builder -> {
builder
.addInclude(tables)// 需要生成代码对应的表,若需要生成全部表则注释该行解放下一行
// .addInclude("all")//生成全部表
// .addTablePrefix("p_")//表前缀过滤例如“p_”开头的表不会生成对应代码
//实体策略配置
.entityBuilder()
.enableFileOverride()// TODO 开启覆盖已生成的entity文件,关闭则注释本行
.enableLombok()// 自动添加lombok注解@Getter @Setter
.logicDeleteColumnName("deleted")// 指定逻辑删除字段名自动为其添加逻辑删除字段注解
.enableTableFieldAnnotation()//启用表字段注解@TableField
//Mapper策略配置
.mapperBuilder()
.enableBaseResultMap() // 生成通用的resultMap
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper")//mapper文件后缀,如UserMapper
// .enableFileOverride()// TODO 开启覆盖已生成的mapper文件(谨慎开启),关闭则注释本行
.formatXmlFileName("%sMapper")//xml文件后缀,如UserMapper.xml
//Service策略配置
.serviceBuilder()
// .enableFileOverride()//TODO 开启覆盖已生成的service文件(谨慎开启),关闭则注释本行
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
//Controller策略配置
.controllerBuilder()
.enableHyphenStyle() // 映射路径使用连字符格式
.formatFileName("%sController")
// .enableFileOverride()// TODO 开启覆盖已生成的controller文件(谨慎开启),关闭则注释本行
.enableRestStyle();//启用rest风格自动添加@RestController
})
.execute();
}
}