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; }