package com.generater; import org.springframework.data.annotation.Id; import org.yeshi.utils.FileUtil; import org.yeshi.utils.FreemarkerUtils; import org.yeshi.utils.generater.GeneraterManager; import org.yeshi.utils.generater.GeneraterUtil; 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.Table; import org.yeshi.utils.generater.params.AdminGeneraterParams; import org.yeshi.utils.generater.params.DaoGeneraterParams; import org.yeshi.utils.generater.params.ServiceGeneraterParams; import org.yeshi.utils.generater.vo.ExceptionVO; 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"); // MyBatisMapperUtil.createMapper(Entity.class); //打乱xml中的数据 // Scanner scanner = new Scanner(new File("D:\\workspace\\Android\\buwan\\HanJuPlayer\\app\\res\\values\\strings.xml")); // List lines = new ArrayList<>(); // while (scanner.hasNextLine()) { // String line = scanner.nextLine().trim(); // if (line == null || (line.startsWith("") || line.contains(""))) // 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(); } 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 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); } @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; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } public static class BaseDao { } }