File was renamed from src/main/java/org/yeshi/utils/generater/entity/MongoDBDaoData.java |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | 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<>(); |
| | |
| | | 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) { |
| | | //主键 |
| | |
| | | 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; |
| | |
| | | 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; |