123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package com.pj.gen;
- import com.pj.gen.cfg.GenCfg;
- import com.pj.gen.cfg.GenCfgManager;
- import com.pj.gen.model.DbTable;
- import com.pj.gen.read.FlyRead;
- import com.pj.gen.read.FlyReadMySql;
- import com.pj.gen.read.ReadUtil;
- /**
- * 操作工具类
- * @author kong
- *
- */
- public class GenUtil {
-
-
- public static FlyRead flyRead = new FlyReadMySql(); // 默认的读取实现类
-
-
- // 返回读取好的表信息
- public static GenCfg getCodeCfgByReadOk(){
- initTables();
- flyRead.setCodeCfg(GenCfgManager.cfg).readInfo();
- return GenCfgManager.cfg;
- }
-
-
- // 开始读取
- public static void doRead() {
- initTables();
- flyRead.setCodeCfg(GenCfgManager.cfg);
- flyRead.readInfo();
- }
-
- // 输出java代码 (mybatis版本)
- public static void doOutMyBatis() {
-
- // 模块
- for (DbTable t : GenCfgManager.cfg.tableList) {
-
- // model
- String modelPath = t.getServerIoPath() + t.getModelName() + ".java"; // 路径
- String modelContent = FreeMarkerUtil.getResult("mybatis/Model.ftl", "t", t); // 内容
- SUtil.outFile(modelPath, modelContent);
- System.out.println(t.getModelName() + " 写入成功:\t\t\t" + modelPath);
-
- // Mapper.java
- String mapperJavaPath = t.getServerIoPath() + t.getMkNameBig() + "Mapper.java"; // 路径
- String mapperJavaContent = FreeMarkerUtil.getResult("mybatis/MapperJava.ftl", "t", t); // 内容
- SUtil.outFile(mapperJavaPath, mapperJavaContent);
- System.out.println(t.getModelName() + "Mapper.java 写入成功:\t\t" + mapperJavaPath);
- // Mapper.xml
- String mapperXmlPath = t.getServerIoPath() + t.getMkNameBig() + "Mapper.xml"; // 路径
- String mapperXmlContent = FreeMarkerUtil.getResult("mybatis/MapperXml.ftl", "t", t); // 内容
- mapperXmlContent = GenCfgManager.cfg.getSqlEncloseRefreshStr(mapperXmlContent);
- SUtil.outFile(mapperXmlPath, mapperXmlContent);
- System.out.println(t.getModelName() + "Mapper.xml 写入成功:\t\t" + mapperXmlPath);
- // Controller
- String controllerPath = t.getServerIoPath() + t.getMkNameBig() + "Controller.java"; // 路径
- String controllerContent = FreeMarkerUtil.getResult("mybatis/Controller.ftl", "t", t); // 内容
- SUtil.outFile(controllerPath, controllerContent);
- System.out.println(t.getModelName() + "Controller 写入成功:\t\t" + controllerPath);
- // Util
- String utilPath = t.getServerIoPath() + t.getMkNameBig() + "Util.java"; // 路径
- String utilContent = FreeMarkerUtil.getResult("mybatis/Util.ftl", "t", t); // 内容
- SUtil.outFile(utilPath, utilContent);
- System.out.println(t.getModelName() + "Util 写入成功:\t\t" + utilPath);
- // 多打印一行,模块之间有个间隔
- System.out.println();
- }
-
- // FC.java 依赖清单
- if(GenCfgManager.cfg.isOutFC) {
- String FCPath = GenCfgManager.cfg.getServerIoPath() + "FC.java"; // 路径
- String FContent = FreeMarkerUtil.getResult("mybatis/FC.ftl", "abc", 123); // 内容
- SUtil.outFile(FCPath, FContent);
- System.out.println("FC.java 依赖清单写入成功:\t\t" + FCPath);
- }
- System.out.println("\n");
- }
-
- // 输出java代码 (mybatis版本-带service层 )
- public static void doOutMyBatisService() {
-
- // 模块
- for (DbTable t : GenCfgManager.cfg.tableList) {
- // Service
- String servicePath = t.getServerIoPath() + t.getMkNameBig() + "Service.java"; // 路径
- String serviceContent = FreeMarkerUtil.getResult("service/Service.ftl", "t", t); // 内容
- SUtil.outFile(servicePath, serviceContent);
- System.out.println(t.getModelName() + "Service 写入成功:\t\t" + servicePath);
- // Controller
- String controllerPath = t.getServerIoPath() + t.getMkNameBig() + "Controller.java"; // 路径
- String controllerContent = FreeMarkerUtil.getResult("service/Controller.ftl", "t", t); // 内容
- SUtil.outFile(controllerPath, controllerContent);
- System.out.println(t.getModelName() + "Controller 写入成功:\t\t" + controllerPath);
-
- // 多打印一行,模块之间有个间隔
- System.out.println();
- }
-
- // FC.java 依赖清单
- if(GenCfgManager.cfg.isOutFC) {
- String FCPath = GenCfgManager.cfg.getServerIoPath() + "FC.java"; // 路径
- String FContent = FreeMarkerUtil.getResult("service/FC.ftl", "abc", 123); // 内容
- SUtil.outFile(FCPath, FContent);
- System.out.println("FC.java 依赖清单写入成功:\t\t" + FCPath);
- }
- System.out.println("\n");
- }
-
-
- // 开始生成admin后台管理
- public static void doOutAdminHtml() {
- // 模块
- for (DbTable t : GenCfgManager.cfg.tableList) {
- // 查
- String xxxListPath = t.getAdminIoPath() + t.getKebabName() + "-list.html"; // 路径
- String xxxListContent = FreeMarkerUtil.getResult("admin/xxx-list.ftl", "t", t); // 内容
- SUtil.outFile(xxxListPath, xxxListContent);
- System.out.println(t.getKebabName() + "-list.html 写入成功:\t\t\t" + xxxListPath);
- // 增
- String xxxAddPath = t.getAdminIoPath() + t.getKebabName() + "-add.html"; // 路径
- String xxxAddContent = FreeMarkerUtil.getResult("admin/xxx-add.ftl", "t", t); // 内容
- SUtil.outFile(xxxAddPath, xxxAddContent);
- System.out.println(t.getKebabName() + "-add.html 写入成功:\t\t\t" + xxxAddPath);
-
- // 详情
- String xxxInfoPath = t.getAdminIoPath() + t.getKebabName() + "-info.html"; // 路径
- String xxxInfoContent = FreeMarkerUtil.getResult("admin/xxx-info.ftl", "t", t); // 内容
- SUtil.outFile(xxxInfoPath, xxxInfoContent);
- System.out.println(t.getKebabName() + "-info.html 写入成功:\t\t\t" + xxxInfoPath);
-
- // 多打印一行,模块之间有个间隔
- System.out.println();
- }
-
- // menu-list.js 菜单列表
- String menuListPath = GenCfgManager.cfg.getAdminProjectPath() + "sa-frame\\menu-list.js"; // 路径
- String menuListContent = FreeMarkerUtil.getResult("admin/menu-list.ftl", "abc", 123); // 内容
- SUtil.outFile(menuListPath, menuListContent);
- System.out.println("menu-list.js 菜单列表, 写入成功:\t\t" + menuListPath);
-
- }
- // 开始生成接口文档地址
- public static void doOutApidoc() {
- // 模块
- for (DbTable t : GenCfgManager.cfg.tableList) {
- // 接口文档
- String xxxMdPath = t.getApidocIoPath() + t.getKebabName() + ".md"; // 路径
- String xxxMdContent = FreeMarkerUtil.getResult("apidoc/xxx-md.ftl", "t", t); // 内容
- SUtil.outFile(xxxMdPath, xxxMdContent);
- System.out.println(t.getKebabName() + ".md 写入成功:\t\t\t" + xxxMdPath);
- // 多打印一行,模块之间有个间隔
- // System.out.println();
- }
-
- // sidebar.md 菜单列表
- String sidebarPath = GenCfgManager.cfg.getApidocProjectPath() + "_sidebar.md"; // 路径
- String sidebarContent = FreeMarkerUtil.getResult("apidoc/sidebar.ftl", "abc", 123); // 内容
- SUtil.outFile(sidebarPath, sidebarContent);
- System.out.println("_sidebar.js 接口文档目录树, 写入成功:\t\t" + sidebarPath);
-
- }
-
-
-
-
-
- // init 相关依赖
- private static void initTables() {
- // 初始化数据表集合
- if(GenCfgManager.cfg.tableNameList == null || GenCfgManager.cfg.tableNameList.size() == 0){
- for (String tName : ReadUtil.getTableList(GenCfgManager.cfg.sqlFly.getConnection())) {
- GenCfgManager.cfg.tableNameList.add(tName);
- }
- }
- }
-
-
- }
|