import com.baomidou.mybatisplus.enums.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.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;
/**
* @author pan
* @date 2019-12-08
*/
public class GeneratorServiceEntity {
@Test
public void generateCode() {
String packageName = "itmc";
boolean serviceNameStartWithI = false;//user -> UserService, 设置成true: user -> IUserService
generateByTables(serviceNameStartWithI, packageName, "b_requirement_report");
}
private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
String codeFileOutputDir = "/Users/pan/workspace/webservice-dir/test";
GlobalConfig config = new GlobalConfig();
String dbUrl = "jdbc:mysql://localhost:3306/itmc_dev";
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL)
.setUrl(dbUrl)
.setUsername("root")
.setPassword("root")
.setDriverName("com.mysql.jdbc.Driver");
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig
.setControllerMappingHyphenStyle(true)
.setEntityColumnConstant(true)
.setRestControllerStyle(true)
.setTablePrefix("b_")
.setCapitalMode(true)
.setEntityLombokModel(true)
.setDbColumnUnderline(true)
.entityTableFieldAnnotationEnable(true)
.setNaming(NamingStrategy.underline_to_camel)
.setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组
// 去除entity父类的公共字段
// strategy.setSuperEntityColumns(superEntityColumns);
config.setActiveRecord(true)//po类是否继承mybatis plus的Model类
.setAuthor("潘志勇")
.setBaseResultMap(true)
.setBaseColumnList(true)
.setIdType(IdType.INPUT)
.setMapperName("%sMapper")
.setXmlName("%sMapper")
.setOutputDir(codeFileOutputDir)
.setFileOverride(true);
if (!serviceNameStartWithI) {
config.setServiceName("%sService");
}
new AutoGenerator().setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(
new PackageConfig()
.setParent(packageName)
.setController("controller.requirement")
.setEntity("model.requirement")
.setMapper("mapper.requirement")
.setXml("mapper.requirement")
).execute();
}
private void generateByTables(String packageName, String... tableNames) {
generateByTables(true, packageName, tableNames);
}
}
https://gitee.com/flying-cattle/mybatis-dsc-generator
网友评论