package com.jun.Excutable;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeWriter {
public static void main(String[] args) {
//代码自动生成器对象
AutoGenerator mpg=new AutoGenerator();
//配置策略
//1.全局配置
GlobalConfig gc=new GlobalConfig();
String projectPath=System.getProperty("user.dir"); //当前项目根路径 D:\study\testmp
gc.setOutputDir(projectPath+"/src/main/java");//代码输出路径!!!注意点!!!
gc.setAuthor("zcj");//作者
gc.setOpen(false);//不自动打开文件夹
gc.setFileOverride(false);//是否覆盖
gc.setServiceName("%sService");//设置service的名字
gc.setIdType(IdType.ID_WORKER);
gc.setDateType(DateType.ONLY_DATE);
mpg.setGlobalConfig(gc);
//2.配置数据源
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatisplus?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
dataSourceConfig.setDbType(DbType.MYSQL);
mpg.setDataSource(dataSourceConfig);
//3.包的配置!!!注意点!!!
PackageConfig packageConfig = new PackageConfig();
packageConfig.setModuleName("newModel");//模块名(即包名)
packageConfig.setParent("com.jun");//(java文件夹下的路径)!!!注意点!!!
packageConfig.setEntity("beans");
packageConfig.setController("controller");
packageConfig.setMapper("mapper");
packageConfig.setService("service");
mpg.setPackageInfo(packageConfig);
//4.策略配置
StrategyConfig strategyConfig=new StrategyConfig();
strategyConfig.setInclude("user","course");//设置要生成的表名!!!注意点!!!
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
strategyConfig.setEntityLombokModel(true);//加上lombok注解
strategyConfig.setLogicDeleteFieldName("deleted");//设置逻辑删除字段
mpg.setStrategy(strategyConfig);
//执行
mpg.execute();
}
}
运行前
运行后
注意
3.0.7版本移除 对 mybatis-plus-generator 包的依赖,自己按需引入,还需要导入模板依赖,
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>