package cn.stylefeng.guns.gen.core.generator.guns; import cn.stylefeng.guns.gen.core.generator.base.model.ContextParam; import cn.stylefeng.guns.gen.core.generator.guns.controller.GunsControllerGenerator; import cn.stylefeng.guns.gen.core.generator.guns.html.GunsPageAddGenerator; import cn.stylefeng.guns.gen.core.generator.guns.html.GunsPageEditGenerator; import cn.stylefeng.guns.gen.core.generator.guns.html.GunsPageIndexGenerator; import cn.stylefeng.guns.gen.core.generator.guns.js.GunsPageAddJsGenerator; import cn.stylefeng.guns.gen.core.generator.guns.js.GunsPageEditJsGenerator; import cn.stylefeng.guns.gen.core.generator.guns.js.GunsPageIndexJsGenerator; import cn.stylefeng.guns.gen.core.generator.guns.mybatisplus.GunsMpGenerator; import cn.stylefeng.guns.gen.core.generator.guns.sqls.GunsMenuSqlGenerator; import cn.stylefeng.guns.gen.core.generator.restful.mybatisplus.param.MpParam; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import java.util.List; import java.util.Map; /** * 测试的执行器 * * @author fengshuonan * @date 2018-12-18-6:39 PM */ public class GunsExecutor { /** * 默认的生成器 * * @author fengshuonan * @Date 2019/1/13 22:18 */ public static void executor(ContextParam contextParam, MpParam mpContext) { //执行mp的代码生成,生成entity,dao,service,model,生成后保留数据库元数据 GunsMpGenerator gunsMpGenerator = new GunsMpGenerator(mpContext); gunsMpGenerator.initContext(contextParam); gunsMpGenerator.doGeneration(); //获取元数据 List tableInfos = gunsMpGenerator.getTableInfos(); Map> everyTableContexts = gunsMpGenerator.getEveryTableContexts(); //遍历所有表 for (TableInfo tableInfo : tableInfos) { Map map = everyTableContexts.get(tableInfo.getName()); //生成控制器 GunsControllerGenerator gunsControllerGenerator = new GunsControllerGenerator(map); gunsControllerGenerator.initContext(contextParam); gunsControllerGenerator.doGeneration(); //生成主页面html GunsPageIndexGenerator gunsPageIndexGenerator = new GunsPageIndexGenerator(map); gunsPageIndexGenerator.initContext(contextParam); gunsPageIndexGenerator.doGeneration(); //生成主页面js GunsPageIndexJsGenerator gunsPageIndexJsGenerator = new GunsPageIndexJsGenerator(map); gunsPageIndexJsGenerator.initContext(contextParam); gunsPageIndexJsGenerator.doGeneration(); //生成添加页面html GunsPageAddGenerator gunsPageAddGenerator = new GunsPageAddGenerator(map); gunsPageAddGenerator.initContext(contextParam); gunsPageAddGenerator.doGeneration(); //生成添加页面的js GunsPageAddJsGenerator gunsPageAddJsGenerator = new GunsPageAddJsGenerator(map); gunsPageAddJsGenerator.initContext(contextParam); gunsPageAddJsGenerator.doGeneration(); //生成编辑页面html GunsPageEditGenerator gunsPageEditGenerator = new GunsPageEditGenerator(map); gunsPageEditGenerator.initContext(contextParam); gunsPageEditGenerator.doGeneration(); //生成编辑页面的js GunsPageEditJsGenerator gunsPageEditJsGenerator = new GunsPageEditJsGenerator(map); gunsPageEditJsGenerator.initContext(contextParam); gunsPageEditJsGenerator.doGeneration(); //生成菜单的sql GunsMenuSqlGenerator gunsMenuSqlGenerator = new GunsMenuSqlGenerator(map); gunsMenuSqlGenerator.initContext(contextParam); gunsMenuSqlGenerator.doGeneration(); } } public static void main(String[] args) { ContextParam contextParam = new ContextParam(); contextParam.setJdbcDriver("com.mysql.jdbc.Driver"); contextParam.setJdbcUserName("root"); contextParam.setJdbcPassword("root"); contextParam.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/generator_platform?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT"); contextParam.setOutputPath("temp"); contextParam.setAuthor("fengshuonan"); contextParam.setProPackage("cn.stylefeng.guns.modular.test"); MpParam mpContextParam = new MpParam(); mpContextParam.setGeneratorInterface(true); mpContextParam.setIncludeTables(new String[]{"test"}); mpContextParam.setRemoveTablePrefix(new String[]{"sys_"}); GunsExecutor.executor(contextParam, mpContextParam); } }