一、开发前准备
- 开发工具:idea 2019 3
- 数据库:MySQL 5.7
- 构建工具:gradle
二、导入相关依赖
1、JDBC连接工具
runtimeOnly 'mysql:mysql-connector-java'
2、添加 代码生成器 依赖
MyBatis-Plus 从 3.0.3 之后移除了代码生成器与模板引擎的默认依赖,需要手动添加相关依赖:
compile group: 'com.baomidou', name: 'mybatis-plus-generator' , version: '3.4.1'
3、添加 模板引擎 依赖
compile group: 'org.apache.velocity', name: 'velocity-engine-core', version: '2.2'
4、添加mybatis-plus启动器 依赖
compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.4.1'
三、实现代码
import com.baomidou.mybatisplus.annotation.DbType;
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 com.baomidou.mybatisplus.generator.AutoGenerator;
/**
* <p><font size=5 color=green>代码生成器</font></p>
* @author 清风
*/
public class AutoGenerators {
/**
* 父包的名字
*/
private static final String PACKAGE_PARENT="com.qingfeng.mybatisplusstudy";
/**
* 模块的名字
*/
private static final String PACKAGE_MODULE="test";
public static void main(String[] args) {
/**
* 代码生成器
*/
AutoGenerator generator = new AutoGenerator();
/**
* 全局配置
*/
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setAuthor("清风");
globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
globalConfig.setOpen(false);
globalConfig.isActiveRecord();
globalConfig.isFileOverride();//覆盖已有的文件
generator.setGlobalConfig(globalConfig);
/**
*数据源配置
*/
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=Asia/Shanghai");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
dataSourceConfig.setDbType(DbType.MYSQL);
generator.setDataSource(dataSourceConfig);
/**
* 策略配置
*/
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setNaming(NamingStrategy.underline_to_camel);// 驼峰命名
generator.setStrategy(strategyConfig);
/**
* 包配置
*/
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(PACKAGE_PARENT);
packageConfig.setModuleName(PACKAGE_MODULE);
generator.setPackageInfo(packageConfig);
generator.execute();
}
}