代码自动生成
https://blog.youkuaiyun.com/grd_java/article/details/105921284
mysql:1.8+
public class GeneratorRun2 {
public static void main(String[] args) {
//构建一个代码生成器 对象
AutoGenerator mpg = new AutoGenerator();
//全局配置 配置生成文件位置 名字
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java")//获取路径到java
.setAuthor("ppl")
.setOpen(false) //是否打开输出目录
.setFileOverride(false)
.setDateType(DateType.ONLY_DATE)
.setSwagger2(true);
mpg.setGlobalConfig(globalConfig);
//数据库配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false")
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUsername("root")
.setPassword("123456")
.setDbType(DbType.MYSQL); //数据库格式
mpg.setDataSource(dataSourceConfig);
//3、包的配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.ppl.mybatis")//配置所在的包下
.setEntity("entity") //配置实体包名
.setMapper("mapper") //dao层包名
.setController("controller") //控制层包名
.setService("service"); //服务处包名
mpg.setPackageInfo(packageConfig);
//策略配置项
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("t_order_details") //可以输入数据库的表,多个表输入
.setTablePrefix("t_") //去除数据库的前缀
.setNaming(NamingStrategy.underline_to_camel) //类名开启驼峰
.setColumnNaming(NamingStrategy.underline_to_camel) //属性名开启驼峰
.setEntityLombokModel(true)
.setLogicDeleteFieldName("is_values");
mpg.setStrategy(strategyConfig);
//启动配置
mpg.execute();
}
}