From 664cc2fd39177fd3daa6d3988396c704d130882c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 12 十月 2021 19:06:55 +0800 Subject: [PATCH] 自动化代码生成优化 --- src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java | 95 +++++++++++++++++++++++------------------------ 1 files changed, 47 insertions(+), 48 deletions(-) diff --git a/src/main/java/org/yeshi/utils/generater/entity/MongoDBDaoData.java b/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java similarity index 71% rename from src/main/java/org/yeshi/utils/generater/entity/MongoDBDaoData.java rename to src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java index 21637a9..d214ea5 100644 --- a/src/main/java/org/yeshi/utils/generater/entity/MongoDBDaoData.java +++ b/src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java @@ -1,8 +1,12 @@ -package org.yeshi.utils.generater.entity; +package org.yeshi.utils.generater.vo.dao; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition; +import org.yeshi.utils.generater.entity.BaseData; +import org.yeshi.utils.generater.entity.ClassInfo; +import org.yeshi.utils.generater.entity.ColumnData; +import org.yeshi.utils.generater.entity.DaoQueryColumnData; import java.lang.annotation.Annotation; import java.lang.reflect.Field; @@ -11,11 +15,11 @@ import java.util.List; import java.util.Set; -public class MongoDBDaoData extends BaseData { +public class MongoDBDaoVO extends BaseData { private String daoName; - private String baseDaoClassName; - private String entityClassName; + private ClassInfo baseDao; + private ClassInfo entity; private Set<String> importClasses; private ColumnData identityColumn; @@ -25,43 +29,41 @@ public static class Builder { - private Class baseDaoClass; + private ClassInfo baseDao; + private Class entity; + private ClassInfo dao; - private Class entityClass; - - private String daoPackageName; - - private String daoName; - - - public Builder setBaseDaoClass(Class clazz) { - this.baseDaoClass = clazz; + public Builder setBaseDao(ClassInfo baseDao) { + this.baseDao = baseDao; return this; } - public Builder setEntityClass(Class clazz) { - this.entityClass = clazz; + public Builder setEntity(Class entity) { + this.entity = entity; return this; } - public Builder setDaoPackageName(String daoPackageName) { - this.daoPackageName = daoPackageName; + public Builder setDao(ClassInfo dao) { + this.dao = dao; return this; } - public Builder setDaoName(String daoName) { - this.daoName = daoName; - return this; - } + public MongoDBDaoVO build() throws Exception { - - public MongoDBDaoData create() { - - if (daoName == null) { - daoName = entityClass.getSimpleName() + "Dao"; + if (entity == null) { + throw new Exception("entity涓嶈兘涓虹┖"); } - Field[] fields = entityClass.getDeclaredFields(); + if (baseDao == null) { + throw new Exception("baseDao涓嶈兘涓虹┖"); + } + + if (dao == null) { + throw new Exception("dao涓嶈兘涓虹┖"); + } + + + Field[] fields = entity.getDeclaredFields(); String identityColumnName = null; String identityColumnType = null; List<ColumnData> columlist = new ArrayList<>(); @@ -71,12 +73,9 @@ if (fd.getModifiers() != 1 && fd.getModifiers() != 2) { continue; } - String columName = fd.getName(); String columnDataType = fd.getGenericType().getTypeName(); Annotation[] as = fd.getAnnotations(); - - if (columName != null) { for (Annotation a : as) { //涓婚敭 @@ -130,18 +129,17 @@ importClasses.add("java.util.ArrayList"); - MongoDBDaoData data = new MongoDBDaoData(); - data.setBaseDaoClassName(baseDaoClass.getSimpleName()); + MongoDBDaoVO data = new MongoDBDaoVO(); + data.setBaseDao(baseDao); data.setColumnDataList(columnDataList); data.setDaoQueryColumnDataList(daoQueryColumnList); - data.setDaoName(daoName); - data.setEntityClass(entityClass.getName()); - data.setEntityClassName(entityClass.getSimpleName()); + data.setDaoName(dao.getName()); + data.setEntity(new ClassInfo(entity.getSimpleName(), entity.getName())); data.setIdentityColumn(new ColumnData(identityColumnName, identityColumnType)); - data.setPackageName(daoPackageName); + data.setPackageName(dao.getClazz().replace("." + dao.getName(), "")); - importClasses.add(baseDaoClass.getName()); - importClasses.add(entityClass.getName()); + importClasses.add(baseDao.getClazz()); + importClasses.add(entity.getName()); data.setImportClasses(importClasses); return data; @@ -157,22 +155,23 @@ this.daoName = daoName; } - public String getBaseDaoClassName() { - return baseDaoClassName; + public ClassInfo getBaseDao() { + return baseDao; } - public void setBaseDaoClassName(String baseDaoClassName) { - this.baseDaoClassName = baseDaoClassName; + public void setBaseDao(ClassInfo baseDao) { + this.baseDao = baseDao; } - public String getEntityClassName() { - return entityClassName; + @Override + public ClassInfo getEntity() { + return entity; } - public void setEntityClassName(String entityClassName) { - this.entityClassName = entityClassName; + @Override + public void setEntity(ClassInfo entity) { + this.entity = entity; } - public ColumnData getIdentityColumn() { return identityColumn; -- Gitblit v1.8.0