codeGenerator修改
This commit is contained in:
parent
88d29c0260
commit
9c649ccdcd
@ -0,0 +1,70 @@
|
||||
package com.cnbm.generator.build;
|
||||
|
||||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.cnbm.generator.config.DataConfig;
|
||||
import com.cnbm.generator.engine.EnhanceVelocityTemplateEngine;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/14 8:47 AM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class CodeGenerator {
|
||||
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
mybatisPlusGenerator(new String[]{"t_test"});
|
||||
}
|
||||
|
||||
public static void mybatisPlusGenerator(String[] include){
|
||||
File file = new File("");
|
||||
String path = file.getAbsolutePath();
|
||||
Map<String, String> customFile = new HashMap<>();
|
||||
customFile.put("DTO","/templates/DTO.java.vm");
|
||||
customFile.put("Excel","/templates/Excel.java.vm");
|
||||
customFile.put("mysql","/templates/mysql.vm");
|
||||
|
||||
|
||||
FastAutoGenerator.create(DataConfig.url,DataConfig.username,DataConfig.password)
|
||||
.globalConfig(builder -> {
|
||||
builder.author("codeGenerator")
|
||||
.enableSwagger()
|
||||
.fileOverride()
|
||||
.disableOpenDir()
|
||||
.outputDir(path+"/src/main/java");
|
||||
})
|
||||
.packageConfig(builder -> {
|
||||
//设置父包名
|
||||
builder.parent("com.cnbm.generator")
|
||||
.moduleName("code")
|
||||
.service("service")
|
||||
.serviceImpl("service.impl")
|
||||
.entity("entity")
|
||||
.mapper("mapper")
|
||||
.controller("controller")
|
||||
.xml("mapper");
|
||||
})
|
||||
.strategyConfig(builder -> {
|
||||
//设置需要生成的表名
|
||||
builder.addInclude(include)
|
||||
//设置过滤表前缀
|
||||
.addTablePrefix("sys_","t_")
|
||||
.serviceBuilder().formatServiceImplFileName("%sServiceBizImpl").formatServiceFileName("%sServiceBiz")
|
||||
//添加逻辑删除列
|
||||
.entityBuilder().logicDeleteColumnName("valid").enableColumnConstant().build();
|
||||
})
|
||||
.injectionConfig(consumer -> {
|
||||
|
||||
consumer.customFile(customFile);
|
||||
})
|
||||
.templateEngine(new EnhanceVelocityTemplateEngine())
|
||||
.execute();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.cnbm.generator.engine;
|
||||
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
|
||||
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
|
||||
import com.cnbm.generator.utils.IdWorker;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author weihongyang
|
||||
* @Date 2022/6/17 10:27 AM
|
||||
* @Version 1.0
|
||||
*/
|
||||
public class EnhanceVelocityTemplateEngine extends VelocityTemplateEngine {
|
||||
@Override
|
||||
protected void outputCustomFile(@NotNull Map<String, String> customFile, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
||||
String entityName = tableInfo.getEntityName();
|
||||
System.out.println(entityName);
|
||||
// String otherPath = this.getPathInfo(OutputFile.other);
|
||||
File file = new File("");
|
||||
String path = file.getAbsolutePath();
|
||||
for (int i = 0; i < 6; i++) {
|
||||
objectMap.put("id"+ i, IdWorker.getId());
|
||||
}
|
||||
customFile.forEach((key, value) -> {
|
||||
String fileName = "";
|
||||
if ("DTO".equals(key)) {
|
||||
fileName = String.format((path+ File.separator +"src/main/java/com/cnbm/generator/code"+ File.separator + "dto" + File.separator + entityName + "%s" + ".java"), key);
|
||||
}
|
||||
if ("Excel".equals(key)) {
|
||||
fileName = String.format((path+ File.separator +"src/main/java/com/cnbm/generator/code"+ File.separator + "excel" + File.separator + entityName + "%s" + ".java"), key);
|
||||
}
|
||||
if ("mysql".equals(key)) {
|
||||
fileName = String.format((path+ File.separator +"src/main/java/com/cnbm/generator/code"+ File.separator + "mysql" + File.separator + entityName + "%s" + ".sql"), key);
|
||||
}
|
||||
this.outputFile(new File(fileName), objectMap, value);
|
||||
});
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void writer(Map<String, Object> objectMap, String templatePath, File outputFile) throws Exception {
|
||||
// // 获取table
|
||||
// TableInfo tableInfo = (TableInfo) objectMap.get("table");
|
||||
// // 取出Service接口的名字,进行首字母小写处理
|
||||
// String serviceNameFirstWord = tableInfo.getServiceName().substring(0,1).toLowerCase();
|
||||
// String serviceNameFirstWordToLower = serviceNameFirstWord + tableInfo.getServiceName().substring(1);
|
||||
// objectMap.put("serviceNameFirstWordToLower", serviceNameFirstWordToLower);
|
||||
//
|
||||
// // 取出mapper接口的名字,进行首字母小写处理
|
||||
// String mapperNameFirstWord = tableInfo.getMapperName().substring(0, 1).toLowerCase();
|
||||
// String mapperNameFirstWordToLower = mapperNameFirstWord + tableInfo.getMapperName().substring(1);
|
||||
// objectMap.put("mapperNameFirstWordToLower", mapperNameFirstWordToLower);
|
||||
//
|
||||
// // 对Form、VO文件的处理
|
||||
//// new FormHandler().handler(objectMap);
|
||||
// super.writer(objectMap, templatePath, outputFile);
|
||||
// }
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user