From 078cc77857f0ff7fcd88e896879a56e949a5fe94 Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Fri, 2 Dec 2022 16:23:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yulichang/interceptor/MPJInterceptor.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java index f025d07..53aa249 100644 --- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java +++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java @@ -182,8 +182,12 @@ public class MPJInterceptor implements Interceptor { TableFieldInfo info = i.getTableFieldInfo(); if (StringUtils.isNotBlank(i.getAlias())) { //优先别名查询 selectFunc selectAs + Class aliasField = fieldMap.containsKey(i.getAlias()) ? fieldMap.get(i.getAlias()).getType() : null; + if (aliasField == null) { + continue; + } ResultMapping.Builder builder = new ResultMapping.Builder(ms.getConfiguration(), i.getAlias(), - i.getAlias(), getAliasField(resultType, fieldMap, i.getAlias())); + i.getAlias(), aliasField); if (i.getFuncEnum() == null || StringUtils.isBlank(i.getFuncEnum().getSql())) { Field f = fieldMap.get(i.getAlias()); if (f == null) { @@ -300,7 +304,7 @@ public class MPJInterceptor implements Interceptor { .collect(Collectors.joining(StringPool.DASH)); } //双检 - if (!ms.getConfiguration().getResultMapNames().contains(childId)) { + if (!ms.getConfiguration().hasResultMap(childId)) { ResultMap build = new ResultMap.Builder(ms.getConfiguration(), childId, mybatisLabel.getOfType(), childMapping).build(); MPJInterceptor.addResultMap(ms, childId, build); } @@ -364,20 +368,12 @@ public class MPJInterceptor implements Interceptor { return new ResultMap.Builder(ms.getConfiguration(), id, resultType, EMPTY_RESULT_MAPPING).build(); } - /** - * 获取result指定名称的字段 - */ - private Class getAliasField(Class resultType, Map fieldMap, String alias) { - Field field = fieldMap.get(alias); - Assert.notNull(field, "Result Class <%s> not find Field <%s>", resultType.getSimpleName(), alias); - return field.getType(); - } /** * 往 Configuration 添加resultMap */ private synchronized static void addResultMap(MappedStatement ms, String key, ResultMap resultMap) { - if (!ms.getConfiguration().getResultMapNames().contains(key)) { + if (!ms.getConfiguration().hasResultMap(key)) { ms.getConfiguration().addResultMap(resultMap); } }