sharding分片规则修改

This commit is contained in:
2025-01-03 20:58:43 +08:00
parent f5d00b189c
commit 8140b01fd2
2 changed files with 31 additions and 4 deletions

View File

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