sharding分片规则修改
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package com.sqx.sharding;
|
||||
|
||||
import org.apache.shardingsphere.api.sharding.standard.PreciseShardingAlgorithm;
|
||||
import org.apache.shardingsphere.api.sharding.standard.PreciseShardingValue;
|
||||
import java.util.Collection;
|
||||
|
||||
public class StandardShardingStrategyConf implements PreciseShardingAlgorithm<Long> {
|
||||
@Override
|
||||
public String doSharding(Collection<String> availableTargetNames, PreciseShardingValue<Long> shardingValue) {
|
||||
// 根据ID对5取模来确定表名
|
||||
long tableIndex = shardingValue.getValue() % 5;
|
||||
for (String tableName : availableTargetNames) {
|
||||
if (tableName.endsWith(String.valueOf(tableIndex))) {
|
||||
return tableName;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user