1、添加必须依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
2、书写代码生成通用类
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import static com.baomidou.mybatisplus.annotation.IdType.ASSIGN_ID;
/**
* Mybatisplus代码生成器(全)
*/
public class GeneratorCodeAllConfig {
/**要自动生成代码的数据库表名,例如表名为demo*/
private static String[] TABLE_NAMES = new String[]{"demo"};
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");//这里写你自己的java目录
gc.setFileOverride(true);//是否覆盖
gc.setOpen(false);//生成后是否打开文件夹
gc.setActiveRecord(true);
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(true);// XML columList
gc.setAuthor("hy-zpei");
gc.setIdType(ASSIGN_ID);
gc.setSwagger2(true);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("xxx@123");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/plusDemo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&allowPublicKeyRetrieval=true");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent(null);
pc.setEntity("com.example.mybatisplus.plus.model");
pc.setMapper("com.example.mybatisplus.plus.mapper");
pc.setXml("com.example.mybatisplus.plus.mapper");
pc.setService("com.example.mybatisplus.plus.service");
pc.setServiceImpl("com.example.mybatisplus.plus.service.impl");
pc.setController("com.example.mybatisplus.plus.controller");
mpg.setPackageInfo(pc);
// 配置模板
TemplateConfig templateConfig = new TemplateConfig();
mpg.setTemplate(templateConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// strategy.setColumnNaming(NamingStrategy.no_change);//字段不使用驼峰
strategy.setInclude(TABLE_NAMES);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
3、执行main方法,代码自动生成