From fac5d01bfcddfc8edef0a5fd3d401b1fe383fe16 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 29 三月 2022 16:48:15 +0800 Subject: [PATCH] 采用配置文件自动化生成代码 --- src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java b/src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java index ee9a630..b86b3bc 100644 --- a/src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java +++ b/src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java @@ -2,12 +2,15 @@ import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; +import org.yeshi.utils.StringUtil; import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition; import org.yeshi.utils.generater.entity.*; import org.yeshi.utils.generater.mybatis.Column; import org.yeshi.utils.generater.mybatis.ColumnParseUtil; import org.yeshi.utils.generater.mybatis.Table; import org.yeshi.utils.generater.vo.ExceptionVO; +import org.yeshi.utils.generater.vo.xmlconfig.dao.DaoData; +import org.yeshi.utils.generater.vo.xmlconfig.dao.DaoQuery; import java.lang.annotation.Annotation; import java.lang.reflect.Field; @@ -27,11 +30,13 @@ private List<DaoQueryColumnData> queryList; private String table; + public static class Builder { private ClassInfo baseMapper; private Class entity; private ClassInfo mapper; + private DaoData daoData; public Builder setBaseMapper(ClassInfo baseMapper) { this.baseMapper = baseMapper; @@ -45,6 +50,11 @@ public Builder setMapper(ClassInfo mapper) { this.mapper = mapper; + return this; + } + + public Builder setDaoData(DaoData daoData) { + this.daoData = daoData; return this; } @@ -119,6 +129,7 @@ //涓婚敭 if (a instanceof Id) { identity = columData; + identity.setType(fd.getType().getName()); valid = false; break; } @@ -131,11 +142,31 @@ columlist.add(columData); - //鑾峰彇鏌ヨ鏉′欢 - for (Annotation a : as) { - if (a instanceof DaoQueryCondition) { - daoQueryColumnList.add(new DaoQueryColumnData(columData.getProperty(), columData, fd.getType().getSimpleName(), ((DaoQueryCondition) a).queryType())); - break; + if (daoData != null) { + //鏌ヨ鏉′欢浠庡閮ㄤ紶鍏� + for (DaoQuery query : daoData.getQueryList()) { + if (query.getName().equalsIgnoreCase(columData.getProperty())) { + if (fd.getType().getSimpleName().equalsIgnoreCase("Date")) { + daoQueryColumnList.add(new DaoQueryColumnData("max" + StringUtil.firstCharToUpper(columData.getProperty()), columData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.lt)); + daoQueryColumnList.add(new DaoQueryColumnData("min" + StringUtil.firstCharToUpper(columData.getProperty()), columData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.gte)); + } else { + daoQueryColumnList.add(new DaoQueryColumnData(columData.getProperty(), columData, fd.getType().getSimpleName(), query.getQueryType())); + } + } + } + + } else { + //鑾峰彇娉ㄨВ鏌ヨ鏉′欢 + for (Annotation a : as) { + if (a instanceof DaoQueryCondition) { + if (fd.getType().getSimpleName().equalsIgnoreCase("Date")) { + daoQueryColumnList.add(new DaoQueryColumnData("max" + StringUtil.firstCharToUpper(columData.getProperty()), columData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.lt)); + daoQueryColumnList.add(new DaoQueryColumnData("min" + StringUtil.firstCharToUpper(columData.getProperty()), columData, fd.getType().getSimpleName(), DaoQueryCondition.QueryType.gte)); + } else { + daoQueryColumnList.add(new DaoQueryColumnData(columData.getProperty(), columData, fd.getType().getSimpleName(), ((DaoQueryCondition) a).queryType())); + } + break; + } } } } -- Gitblit v1.8.0