From 47e3087067abd35e6337c011f96d2338c0bb1aae Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 25 七月 2024 13:39:31 +0800 Subject: [PATCH] 优化自动化代码 --- src/main/java/org/yeshi/utils/generater/vo/dao/MyBatisDBDaoVO.java | 55 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 10 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 aba2762..347b1d1 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 @@ -7,8 +7,11 @@ 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.ColumnUtil; 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; @@ -28,11 +31,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; @@ -46,6 +51,11 @@ public Builder setMapper(ClassInfo mapper) { this.mapper = mapper; + return this; + } + + public Builder setDaoData(DaoData daoData) { + this.daoData = daoData; return this; } @@ -104,13 +114,18 @@ } String property = fd.getName(); - String column = fd.getName(); + String column = null; for (Annotation a : as) { //涓嶅弬涓庤В鏋� if (a instanceof Column) { column = ((Column) a).name(); break; } + } + + //椹煎嘲鍐欐硶锛岄瀛楁瘝灏忓啓 + if (column == null) { + column = ColumnUtil.getColumnFromProperty(fd.getName()); } MybatisColumnData columData = new MybatisColumnData(column, property, fd.getType().getSimpleName(), ColumnParseUtil.getJDBCType(fd.getType().getName())); @@ -133,16 +148,34 @@ columlist.add(columData); - //鑾峰彇鏌ヨ鏉′欢 - 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())); + if (daoData != null) { + //鏌ヨ鏉′欢浠庡閮ㄤ紶鍏� + if (daoData.getQueryList() != 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 if (query.getName().equalsIgnoreCase(columData.getColumn())) { + daoQueryColumnList.add(new DaoQueryColumnData(columData.getColumn(), columData, fd.getType().getSimpleName(), query.getQueryType())); + } } - break; + + } 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; + } } } } @@ -212,4 +245,6 @@ public void setTable(String table) { this.table = table; } + + } -- Gitblit v1.8.0