From 56e1d28d49ad59bae3f16ac2cd7db864af4762b5 Mon Sep 17 00:00:00 2001 From: yulichang <570810310@qq.com> Date: Thu, 3 Nov 2022 16:52:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AF=B9TypeHandle=E7=9A=84?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yulichang/interceptor/MPJInterceptor.java | 9 ++++----- .../github/yulichang/wrapper/SelectColumn.java | 16 ++++++++-------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java b/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java index e461031..f82968d 100644 --- a/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java +++ b/src/main/java/com/github/yulichang/interceptor/MPJInterceptor.java @@ -28,10 +28,7 @@ import org.apache.ibatis.type.TypeHandlerRegistry; import org.apache.ibatis.type.UnknownTypeHandler; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** @@ -153,7 +150,9 @@ public class MPJInterceptor implements Interceptor { String currentNamespace = ms.getResource().split(StringPool.SPACE)[0]; String id = currentNamespace + StringPool.DOT + Constants.MYBATIS_PLUS + StringPool.UNDERSCORE + resultType.getSimpleName(); - if (!(obj instanceof MPJLambdaWrapper)) { + if (!(obj instanceof MPJLambdaWrapper) || Map.class.isAssignableFrom(resultType) || + ReflectionKit.isPrimitiveOrWrapper(resultType) || + Collection.class.isAssignableFrom(resultType)) { return getDefaultResultMap(tableInfo, ms, resultType, id); } MPJLambdaWrapper wrapper = (MPJLambdaWrapper) obj; diff --git a/src/main/java/com/github/yulichang/wrapper/SelectColumn.java b/src/main/java/com/github/yulichang/wrapper/SelectColumn.java index 0451b7f..74fb4dc 100644 --- a/src/main/java/com/github/yulichang/wrapper/SelectColumn.java +++ b/src/main/java/com/github/yulichang/wrapper/SelectColumn.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.github.yulichang.toolkit.UniqueObject; import com.github.yulichang.wrapper.enums.BaseFuncEnum; -import lombok.Data; +import lombok.Getter; import java.util.Objects; @@ -15,38 +15,38 @@ import java.util.Objects; * @author yulichang * @since 1.2.5 */ -@Data +@Getter public class SelectColumn implements UniqueObject { /** * 字段实体类 */ - private Class clazz; + private final Class clazz; /** * 数据库字段名 */ - private String columnName; + private final String columnName; /** * 字段信息 */ - private TableFieldInfo tableFieldInfo; + private final TableFieldInfo tableFieldInfo; /** * 字段别名 */ - private String alias; + private final String alias; /** * 目标属性 */ - private String tagProperty; + private final String tagProperty; /** * 字段函数 */ - private BaseFuncEnum funcEnum; + private final BaseFuncEnum funcEnum; private SelectColumn(Class clazz, String columnName, TableFieldInfo tableFieldInfo, String alias, String tagProperty, BaseFuncEnum funcEnum) {