1.application.yml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql:///数据库名称?serverTimezone=UTC&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 密码
mybatis-plus:
mapper-locations: classpath:/mappers/*.xml
type-aliases-package: com.XXX.fmmall2.entity
2.代码生成器需要添加的依赖
com.baomidou
mybatis-plus-generator
3.3.1.tmp
org.apache.velocity
velocity-engine-core
2.2
3.逆向工程的java类
package com.mayao;
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;
public class GenerateCode {
@Test
public void testGenerator() {
//1、全局配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true)//开启AR模式
//.setAuthor("mayao")//设置作者
// 配置是否打开目录,false 为不打开(可选)
.setOpen(false)
//- 生成路径(一般都是生成在此项目的src/main/java下面)
.setOutputDir("项目的绝对路径/src/main/java")
.setFileOverride(true)//第二次生成会把第一次生成的覆盖掉
.setIdType(IdType.AUTO)//主键策略
.setServiceName("%sService")//生成的service接口名字首字母是否为I,这样设置就没有I
.setbaseResultMap(true)//生成resultMap
.setbaseColumnList(true);//在xml中生成基础列
//2、数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL)//数据库类型
.setDriverName("com.mysql.cj.jdbc.Driver")
//- 修改数据库
.setUrl("jdbc:mysql://localhost:3306/数据库?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8")
.setUsername("数据库账号")
.setPassword("数据库密码");
//3、策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true)//开启全局大写命名
.setNaming(NamingStrategy.underline_to_camel)//下划线到驼峰的命名方式
.setTablePrefix("t_")//表名前缀,逆向工程生成java文件时删除前缀
.setEntityLombokModel(true)//使用lombok
.setRestControllerStyle(true)//配置成@RestController
//- 逆向工程使用的表
.setInclude("表1", "表2");
//4、包名策略配置
PackageConfig packageConfig = new PackageConfig();
//- 项目的包名
packageConfig.setParent("com.包名")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("entity")
.setXml("mapper/xml");//设置xml文件的目录
//5、整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig);
//6、执行
autoGenerator.execute();
}
}