pom依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
package com.aizhixin.coffee;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
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.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
public class AutoBuild {
public static void main(String[] args) {
//需要构建一个 代码生成器 对象 //代码生成器
AutoGenerator mpg = new AutoGenerator();
//配置策路
// 全局配置
GlobalConfig gc = new GlobalConfig();
//获得当前项目的路径(模块子项目在后面加上"/项目名")
String projectPath = System.getProperty("user.dir"); //+ "/字项目名"
//设置代码生成路径
gc.setOutputDir(projectPath + "/src/main/java");
//作者
gc.setAuthor("小智");
//代码生成是否要打开所在文件夹
gc.setOpen(false);
//生成Swagger2注解
gc.setSwagger2(true); //实体属性 Swagger2 注解
//会在mapper.xml 生成一个基础的<ResultMap> 映射所有字段
gc.setBaseResultMap(true);
//下一次生成是否覆盖之前的生成
gc.setFileOverride(true);
//设置生成的时间
gc.setDateType(DateType.ONLY_DATE);
//实体类:直接用表名作为实体类表名
gc.setEntityName("%s");
//mapper接口名
gc.setMapperName("%sMapper");
//设置mapper.xml文件名
gc.setXmlName("%sMapper");
//设置业务逻辑类接口名
gc.setServiceName("%sService");
//设置业务逻辑类实现类名
gc.setServiceImplName("%sServiceImpl");
mpg.setGlobalConfig(gc);
//2.设置数据源
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/examination?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("12346789...");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
//3.设置 包
PackageConfig pc = new PackageConfig();
// pc.setModuleName("dema");//设置模块名
pc.setParent("com.aizhixin.quicck");
pc.setEntity("domain"); //实体类名字
pc.setMapper("mapper");
pc.setController("controller");
pc.setService("service");
mpg.setPackageInfo(pc);
//4.策略配置
// AutoGenerator autoGenerator = mpg.setStrategy();
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("t_user");//设置需要的 表名 可以传多个参数 ("","")
strategy.setTablePrefix("t_"); //去掉表中前缀
strategy.setNaming(NamingStrategy.underline_to_camel);//转驼峰命名
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);//自动生成lombok
strategy.setLogicDeleteFieldName("delete");//逻辑删除 表里边的delete
//自动填充
TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置自动填充创建时间
TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);//设置自动填充修改时间
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(gmtModified);
tableFills.add(gmtModified);
strategy.setTableFillList(tableFills);
//乐观锁
strategy.setVersionFieldName("version");
strategy.setRestControllerStyle(true); //开启驼峰命名格式 //controller层使用rest风格
strategy.setControllerMappingHyphenStyle(true);//url 里边可以使用下划线localhost:8080/hello_id_2
mpg.setStrategy(strategy);
mpg.execute();//执行
}
}
本文共 280 个字数,平均阅读时长 ≈ 1分钟
欢迎加入 xiaozhi 大家族