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.DaoGeneraterParams;
|
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<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();
|
}
|
|
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);
|
GeneraterManager.getInstance().createWholeFunction(new DaoGeneraterParams("com.generater.temp.dao", null), null, null);
|
}
|
|
|
@Table("tb_test")
|
public 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 {
|
|
}
|
|
|
}
|