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; String columnStr; List queryTableInfo; /** * 初始化配置 */ protected abstract void config(); public void init() { config(); GeneratorService generatorService = new GeneratorService(); List 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 queryTableInfo){ this.queryTableInfo = queryTableInfo; } }