Browse Source

fix 分表

release_toaliyun_real
xiaohanzi 5 years ago
parent
commit
3b75d0b6bf
1 changed files with 17 additions and 2 deletions
  1. +17
    -2
      mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/impl/rule/ShardingRuleDefaultService.java

+ 17
- 2
mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/impl/rule/ShardingRuleDefaultService.java View File

@@ -7,11 +7,26 @@ public class ShardingRuleDefaultService implements ShardingRuleService {
if (null == value || count <= 0 ) {
return null;
}
int hash = 9999999;
//如果是整数,则直接变为Long,好查询
if (value instanceof String) {
try {
Long lvalue = Long.parseLong((String)value);
hash = getHashCode(lvalue);
}catch(Exception e) {
hash = getHashCode(value);
}
}else {
hash = getHashCode(value);
}
return String.valueOf(hash%count);
}
private int getHashCode(Object value) {
int hash = value.hashCode();
if (hash < 0 ) {
hash = Math.abs(hash);
}
return String.valueOf(hash%count);
return hash;
}

}

Loading…
Cancel
Save