Просмотр исходного кода

fix 分表

release_toaliyun_real
xiaohanzi 5 лет назад
Родитель
Сommit
3b75d0b6bf
1 измененных файлов: 17 добавлений и 2 удалений
  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 Просмотреть файл

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

}

Загрузка…
Отмена
Сохранить