pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies>
yml
spring:
datasource:
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_qyc?serverTimezone=GMT%2B8
生成器
package com.qyc.plus;
import com.baomidou.mybatisplus.annotation.DbType;
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.rules.NamingStrategy;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class PlusApplicationTests {
@Test
void contextLoads() {
//创建代码生成器
AutoGenerator autoGenerator = new AutoGenerator();
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
// String path = System.getProperty("user.dir");
// System.out.println(path);
String path = "G:\\IDEA source\\plus";
globalConfig.setOutputDir(path+"/src/main/java");
globalConfig.setAuthor("testjava");
globalConfig.setOpen(false);
globalConfig.setFileOverride(false); //不覆盖
globalConfig.setServiceName("%sService"); //去掉接口首字母I
globalConfig.setIdType(IdType.AUTO); //主键生成策略
globalConfig.setSwagger2(true); //开启swagger2模式
autoGenerator.setGlobalConfig(globalConfig);
//数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/db_qyc?serverTimezone=GMT%2B8");
dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("123456");
dataSourceConfig.setDbType(DbType.MYSQL);
autoGenerator.setDataSource(dataSourceConfig);
//包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.qyc");
packageConfig.setModuleName("plus");
packageConfig.setController("controller");
packageConfig.setEntity("bean");
packageConfig.setService("service");
packageConfig.setMapper("mapper");
autoGenerator.setPackageInfo(packageConfig);
//策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user"); //表
strategyConfig.setNaming(NamingStrategy.underline_to_camel); //库表映射策略
strategyConfig.setTablePrefix(packageConfig.getModuleName()+"_"); //生成实体是去掉表前缀
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); //字段映射策略
strategyConfig.setEntityLombokModel(true); //lombok模型
strategyConfig.setRestControllerStyle(true);
strategyConfig.setControllerMappingHyphenStyle(true);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.execute();
}
}