admin
2021-10-12 664cc2fd39177fd3daa6d3988396c704d130882c
src/main/java/org/yeshi/utils/generater/vo/dao/MongoDBDaoVO.java
File was renamed from src/main/java/org/yeshi/utils/generater/entity/MongoDBDaoData.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;