代码生成器一:
package com.lzq;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* @author 冷醉泉
* @since 2023/06/13 09:30:51
**/
public class gen {
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
//生成代码的路径
gc.setOutputDir("C:\\Users\\lzq\\IdeaProjects\\jiatinglicai" + "/src/main/java");//项目路径要修改
gc.setAuthor("lzq");//作者姓名
gc.setOpen(false);
gc.setServiceName("%sService");//设置service的命名规范 去掉默认的I 开头
gc.setSwagger2(false); //实体属性 Swagger2 注解
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3307/jiatinglicai?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true");
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
// pc.setModuleName("testmpgen");//模块名字
pc.setParent("com.lzq");//包名字
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//实体类是否支持lombok
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);//返回json 加restcontroller
strategy.setInclude("t_user","t_zhichu","t_shouru");//要生成实体类的 数据库表格名称
strategy.setControllerMappingHyphenStyle(true);//去掉表前缀
strategy.setTablePrefix("t_");//表格前缀
mpg.setStrategy(strategy);
mpg.execute();
}
}
运行main方法即可实现代码生成功能,但是生成之后要在生成的mapper文件上手动加上@Mapper注解
代码生成器二:
package com.example.springboot.utils;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.Collections;
/**
* Created by Intellij IDEA.
*代码生成器
* by jason
*
* @Author lzq
* Date: 2023/02/12
*/
public class CodeGenerator {
public static void main(String[] args) {
generate();
}
private static void generate(){
FastAutoGenerator.create("jdbc:mysql://localhost:3307/leng?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false",
"root", "123456")
.globalConfig(builder -> {
builder.author("lengzuiquan") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("D:\\user\\javacode\\demo1\\springboot\\src\\main\\java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.example.springboot") // 设置父包名
.moduleName(null) // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D:\\user\\javacode\\demo1\\springboot\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.entityBuilder().enableLombok();
// builder.mapperBuilder().enableMapperAnnotation().build();
builder.controllerBuilder().enableHyphenStyle()//开启驼峰转连字符
.enableRestStyle();//开启生成@RestController 控制器
builder.addInclude("sys_menu") // 设置需要生成的表名
.addTablePrefix("t_", "sys_"); // 设置过滤表前缀
})
// .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}