Mybatis-PLUS代码自动生成器配置记录,这货确实有点坑,各种配置的地方踩了许多坑记录下~
package com.commerce.mall.headline.utils;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
/**
1. @author Tao
*/
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator autoGenerator = new AutoGenerator();
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setFileOverride(true).setAuthor("纨绔子弟").setOutputDir(System.getProperty(
"user.dir") + "/mall-headline/src/main/java").setSwagger2(true).setOpen(false);
autoGenerator.setGlobalConfig(globalConfig);
/*
数据库配置
*/
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://").setDriverName("com.mysql" +
".cj.jdbc.Driver").setUsername("").setPassword("").setDbType(DbType.MYSQL);
autoGenerator.setDataSource(dataSourceConfig);
/*
包配置
*/
PackageConfig packageConfig = new PackageConfig();
packageConfig.setModuleName("").setParent("com.commerce.mall.headline").setEntity("entity"
).setController("controller").setService("service").setServiceImpl("serviceImpl").setMapper("mapper");
autoGenerator.setPackageInfo(packageConfig);
/*
策略配置
*/
/*继承父类*/
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setSuperEntityClass(com.commerce.mall.headline.pojo.BasePOJO.class);
strategyConfig.setSuperEntityColumns("id", "create_time", "update_time", "is_delete");
TableFill createTime = new TableFill("create_time", FieldFill.INSERT);
TableFill updateTime = new TableFill("update_time", FieldFill.INSERT);
ArrayList<TableFill> tableFillArrayList = new ArrayList<>();
tableFillArrayList.add(createTime);
tableFillArrayList.add(updateTime);
strategyConfig.setInclude("ums_headline_article", "ums_headline_problem",
"ums_headline_review", "ums_headline_review_word").setColumnNaming(NamingStrategy.underline_to_camel).
setNaming(NamingStrategy.underline_to_camel).setEntityLombokModel(true).setLogicDeleteFieldName("deleted").setTableFillList(tableFillArrayList);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.execute();
}
}
- 最坑的就是父类继承的时候,字段写数据库里面的名字~