From 007fa2bbd167a8ffe44de4bb0ab3da6a1a75b774 Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 13 Dec 2023 16:06:52 +0800 Subject: [PATCH] fix: fixed issues in gitee #I8CGVM --- .../mybatisflex/core/table/ColumnInfo.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/ColumnInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/ColumnInfo.java index b8e70dbd..20af6847 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/ColumnInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/ColumnInfo.java @@ -18,13 +18,26 @@ package com.mybatisflex.core.table; import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.mask.CompositeMaskTypeHandler; import com.mybatisflex.core.mask.MaskTypeHandler; +import com.mybatisflex.core.util.ArrayUtil; import com.mybatisflex.core.util.StringUtil; import org.apache.ibatis.session.Configuration; -import org.apache.ibatis.type.JdbcType; -import org.apache.ibatis.type.TypeHandler; +import org.apache.ibatis.type.*; + +import java.sql.Time; +import java.sql.Timestamp; +import java.time.*; +import java.time.chrono.JapaneseDate; +import java.util.Date; public class ColumnInfo { + private static final Class[] needGetTypeHandlerTypes = { + Date.class, java.sql.Date.class, Time.class, Timestamp.class, + Instant.class, LocalDate.class, LocalDateTime.class, LocalTime.class, OffsetDateTime.class, OffsetTime.class, ZonedDateTime.class, + Year.class, Month.class, YearMonth.class, JapaneseDate.class, + byte[].class, Byte[].class, Byte.class, + }; + /** * 数据库列名。 */ @@ -132,7 +145,7 @@ public class ColumnInfo { } //枚举 - else if (propertyType.isEnum()) { + else if (propertyType.isEnum() || ArrayUtil.contains(needGetTypeHandlerTypes, propertyType)) { if (configuration == null) { configuration = FlexGlobalConfig.getDefaultConfig().getConfiguration(); }