From 56369ffd229c3b89f54c910fadbf33a29b21ed50 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Thu, 29 Oct 2020 11:40:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=E5=88=86=E8=A1=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shard/plugin/ShardingSpherePlugin.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java b/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java index 9d06cc174..085a37666 100644 --- a/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java +++ b/mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/plugin/ShardingSpherePlugin.java @@ -30,6 +30,7 @@ import java.math.BigDecimal; import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -202,8 +203,21 @@ public class ShardingSpherePlugin implements MyBatisPlus { }else { Map m = (Map) parameterObject; for (Iterator it = m.keySet().iterator();it.hasNext();) { - o = m.get(it.next()); - Object v = getValue(column,o,parentChainMap); + Object ito = it.next(); + Object value = m.get(ito); + if(isBasicTypeValue(value)) { + if (ito instanceof String) { + String itoStr = (String) ito; + if( itoStr.equals(column) || itoStr.equals(field)) { + return value; + }else { + continue; + } + }else { + continue; + } + } + Object v = getValue(column,value,parentChainMap); if (null != v) { return v; }