package com.yqzx.generator.action.config;
|
|
import com.yqzx.generator.action.model.TableInfo;
|
import com.yqzx.generator.config.DataSourceConfig;
|
import com.yqzx.generator.engine.TemplateEngine;
|
import com.yqzx.generator.engine.base.AbstractTemplateEngine;
|
import com.yqzx.generator.engine.config.ContextConfig;
|
import com.yqzx.generator.service.GeneratorService;
|
|
import java.util.List;
|
|
/**
|
* @description: 代码生成的抽象配置
|
* @author: chaoyapeng
|
* @time: 2020/8/18 15:47
|
*/
|
public abstract class AbstractGeneratorConfig {
|
|
ContextConfig contextConfig = new ContextConfig();
|
|
DataSourceConfig dataSourceConfig = new DataSourceConfig();
|
|
List<TableInfo> tableInfo;
|
|
String columnStr;
|
|
List<TableInfo> queryTableInfo;
|
|
/**
|
* 初始化配置
|
*/
|
protected abstract void config();
|
|
public void init() {
|
config();
|
GeneratorService generatorService = new GeneratorService();
|
List<TableInfo> tableInfo = generatorService.setDataSourceConfig(dataSourceConfig)
|
.getTableInfo(contextConfig.getTableName());
|
this.tableInfo = tableInfo;
|
String columnStr = "";
|
for (TableInfo item : tableInfo) {
|
columnStr += ", " + item.getName();
|
}
|
this.columnStr = columnStr.substring(2);
|
}
|
|
public void doGeneration() {
|
init();
|
AbstractTemplateEngine templateEngine = new TemplateEngine();
|
templateEngine.setContextConfig(contextConfig);
|
templateEngine.setTableInfo(tableInfo);
|
templateEngine.setColumnStr(columnStr);
|
templateEngine.setQueryTableInfo(queryTableInfo);
|
templateEngine.start();
|
}
|
|
protected void setQueryTableInfo(List<TableInfo> queryTableInfo){
|
this.queryTableInfo = queryTableInfo;
|
}
|
|
}
|