From 47e3087067abd35e6337c011f96d2338c0bb1aae Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 25 七月 2024 13:39:31 +0800 Subject: [PATCH] 优化自动化代码 --- src/test/java/com/generater/GeneratorTest.java | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 162 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/generater/GeneratorTest.java b/src/test/java/com/generater/GeneratorTest.java index 85b2acd..f618df0 100644 --- a/src/test/java/com/generater/GeneratorTest.java +++ b/src/test/java/com/generater/GeneratorTest.java @@ -1,27 +1,185 @@ package com.generater; import org.springframework.data.annotation.Id; -import org.yeshi.utils.generater.SpringComponentGenerater; -import org.yeshi.utils.generater.entity.MongoDBDaoData; +import org.yeshi.utils.FileUtil; +import org.yeshi.utils.FreemarkerUtils; +import org.yeshi.utils.generater.GeneraterUtil; +import org.yeshi.utils.generater.TestEntity3; +import org.yeshi.utils.generater.entity.ClassInfo; +import org.yeshi.utils.generater.entity.admin.AdminGeneraterInfo; +import org.yeshi.utils.generater.mybatis.Column; +import org.yeshi.utils.generater.mybatis.MyBatisMapperUtil; +import org.yeshi.utils.generater.mybatis.Table; +import org.yeshi.utils.generater.vo.ExceptionVO; +import org.yeshi.utils.generater.vo.xmlconfig.base.FormComponent; +import org.yeshi.utils.generater.vo.xmlconfig.admin.form.FormComponentText; +import org.yeshi.utils.generater.vo.dao.MongoDBDaoVO; +import org.yeshi.utils.generater.vo.dao.MyBatisDBDaoVO; +import org.yeshi.utils.generater.vo.service.ServiceImplInfoVO; +import org.yeshi.utils.generater.vo.service.ServiceInfoVO; +import org.yeshi.utils.generater.vo.admin.controller.AdminControllerInfoVO; +import org.yeshi.utils.generater.vo.admin.page.FormUpdateInfoVO; +import java.io.InputStream; import java.util.Date; +import java.util.HashMap; +import java.util.Map; public class GeneratorTest { public static void main(String[] args) throws Exception { - SpringComponentGenerater.createMongoDao(new MongoDBDaoData.Builder().setBaseDaoClass(BaseDao.class).setDaoPackageName("com.generator.result").setEntityClass(Entity.class).create(), "D:\\workspace\\server\\utils\\src\\test\\java\\com\\generater\\result"); + //SpringComponentGenerater.createMongoDao(new MongoDBDaoData.Builder().setBaseDaoClass(BaseDao.class).setDaoPackageName("com.generator.result").setEntityClass(Entity.class).create(), "D:\\workspace\\server\\utils\\src\\test\\java\\com\\generater\\result"); +// MyBatisMapperUtil.createMapper(Entity.class); + + +//鎵撲贡xml涓殑鏁版嵁 +// Scanner scanner = new Scanner(new File("D:\\workspace\\Android\\buwan\\HanJuPlayer\\app\\res\\values\\strings.xml")); +// List<String> lines = new ArrayList<>(); +// while (scanner.hasNextLine()) { +// String line = scanner.nextLine().trim(); +// if (line == null || (line.startsWith("<?xml") || line.contains("<resources>") || line.contains("</resources>"))) +// continue; +// lines.add(line); +// } +// scanner.close(); +// Collections.shuffle(lines); +// for (String line : lines) { +// System.out.println(line); +// } + + + // +// boolean match = Pattern.matches("^(https://){1}.*(\\.m3u8)$", "https://n1.szjal.cn/20210805/qnDXhXBa/index.m3u8123"); +// System.out.println(match); +// generater(); + String sql = MyBatisMapperUtil.createSQL(TestEntity3.class); + System.out.println(sql); + } + + private static void generateAdminPage() throws Exception { + AdminGeneraterInfo info = new AdminGeneraterInfo.Builder().setEntityClass(TestEntity.class).build(); + //灏嗘墍鏈夌殑鎺т欢妯℃澘鍔犺浇杩涘幓 + String[] template = new String[]{ + "admin/form/checkBox.ftl", + "admin/form/img.ftl", + "admin/form/password.ftl", + "admin/form/radioGroup.ftl", + "admin/form/select.ftl", + "admin/form/switch.ftl", + "admin/form/text.ftl", + "admin/form/textArea.ftl", + "admin/add.ftl", + "admin/update.ftl", + "admin/list.ftl" + }; + + Map<String, InputStream> map = new HashMap<>(); + for (String st : template) { + map.put(st, GeneraterUtil.class.getClassLoader().getResourceAsStream("generater/" + st)); + } + String result = FreemarkerUtils.generateInputStream(new FormUpdateInfoVO.Builder().setAdminInfo(info).build(), "admin/update.ftl", map); + FileUtil.saveAsFileByte(result.getBytes("UTF-8"), "C:\\Users\\Administrator\\Documents\\HBuilderProjects\\LayuiTest\\form.html"); + System.out.println(result); + } + + + private static void generateService() throws Exception { + ClassInfo dao = new ClassInfo("TestDao", "com.test.dao.TestDao"); + ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery"); + ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService"); + ServiceInfoVO serviceInfoVO = new ServiceInfoVO.Builder().setEntity(Entity.class).setPackageName("com.test.service").setQuery(query).setService(service).build(); + String result = FreemarkerUtils.generateInputStream(serviceInfoVO, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\service\\service.template")); + System.out.println(result); + } + + private static void generateServiceImpl() throws Exception { + ClassInfo dao = new ClassInfo("TestMapper", "com.test.dao.TestMapper"); + ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery"); + ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService"); + ClassInfo daoQuery = new ClassInfo("DaoQuery", "com.test.dao.query.DaoQuery"); + ServiceImplInfoVO serviceInfoVO = new ServiceImplInfoVO.Builder() + .setDao(dao) + .setEntity(Entity.class) + .setPackageName("com.test.service.impl") + .setQuery(query) + .setService(service) + .setDaoQuery(daoQuery) + .build(); + String result = FreemarkerUtils.generateInputStream(serviceInfoVO, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\service\\serviceImpl.template")); + System.out.println(result); + } + + + private static void generateAdminController() throws Exception { + AdminGeneraterInfo adminGeneraterInfo = new AdminGeneraterInfo.Builder().setEntityClass(TestEntity.class).build(); + ClassInfo query = new ClassInfo("TestQuery", "com.test.query.TestQuery"); + ClassInfo service = new ClassInfo("TestService", "com.test.service.TestService"); + AdminControllerInfoVO vo = new AdminControllerInfoVO.Builder().setAdminInfo(adminGeneraterInfo).setPackageName("com.test.controller.admin").setQueryVO(query).setService(service).build(); + String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\admin\\adminController.template")); + System.out.println(result); + } + + + private static void generateMongoDBDao() throws Exception { + MongoDBDaoVO vo = new MongoDBDaoVO.Builder().setBaseDao(new ClassInfo(BaseDao.class.getSimpleName(), BaseDao.class.getName())).setDao(new ClassInfo("TestDao", "com.test.dao.TestDao")).setEntity(TestEntity.class).build(); + String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mongoDBDao.template")); + System.out.println(result); + } + + + private static void generateMybatisDao() throws Exception { + + MyBatisDBDaoVO vo = new MyBatisDBDaoVO + .Builder() + .setEntity(TestEntity2.class) + .setBaseMapper(new ClassInfo("BaseMapper", "com.test.mapper.BaseMapper")) + .setMapper(new ClassInfo("TestEntity2Mapper", "com.test.mapper.TestEntity2Mapper")) + .build(); + + +// String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mybatisDBDao.template")); + String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\dao\\mybatisDBXML.ftl")); + System.out.println(result); + } + + private static void generateException() throws Exception { + ExceptionVO vo = new ExceptionVO.Builder() + .setEntity(Entity.class) + .setPackageName("com.test.exception").build(); + String result = FreemarkerUtils.generateInputStream(vo, GeneratorTest.class.getClassLoader().getResourceAsStream("generater\\exception.template")); + System.out.println(result); + } + + private static void generater() throws Exception { +// GeneraterManager.getInstance().init("D:\\workspace\\server\\utils\\src\\test\\java", TestEntity.class); +// AdminGeneraterParams adminGeneraterParams=new AdminGeneraterParams("com.generater.temp.controller","D:\\workspace\\server\\utils\\src\\test"); +// +// GeneraterManager.getInstance().createWholeFunction(new DaoGeneraterParams("com.generater.temp.dao", "D:\\workspace\\server\\utils\\src\\test"), new ServiceGeneraterParams("com.generater.temp.query","com.generater.temp.service","com.generater.temp.service.impl"), adminGeneraterParams); + FormComponent fc=new FormComponentText(); + + System.out.println(fc instanceof FormComponentText); + + FormComponentText text=(FormComponentText) fc; + + System.out.println(text); } - public static class Entity { + @Table("tb_test") + static class Entity { @Id + @Column(name = "id") private String id; + @Column(name = "`name`") private String name; + @Column(name = "`age`") private Integer age; + @Column(name = "create_time") private Date createTime; + public String getId() { return id; } -- Gitblit v1.8.0