From d096953776519f10cf99e73b9d019a3c4aa5cabe Mon Sep 17 00:00:00 2001 From: luliqiang <kidgrow> Date: Wed, 24 Mar 2021 19:07:50 +0800 Subject: [PATCH] 1、完善哈希表后缀生成方法 2、增加哈希表后缀生成工具类(只传入字符串参数,其他参数用方法中的默认值) --- kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java index 14a5d3d..f9686b1 100644 --- a/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java +++ b/kidgrow-commons/kidgrow-db-spring-boot-starter/src/main/java/com/kidgrow/db/sharding/HashModTableSuffix.java @@ -13,21 +13,28 @@ public class HashModTableSuffix implements TableSuffix { private String hash; - private Long tableSize = 64L; - private String tableSuffix="-000"; + private Long tableSize = 128L; + private String tableSuffix="_000"; public HashModTableSuffix(String hash,long tableSize, String tableSuffix) { if (StringUtils.isEmpty(hash)) { throw new IllegalArgumentException("hash should not be null or empty"); + } else { + this.hash = hash; } - this.hash = hash; - this.tableSize=tableSize; - this.tableSuffix=tableSuffix; + if (tableSize != 0) { + this.tableSize = tableSize; + } + if (!StringUtils.isEmpty(tableSuffix)) { + this.tableSuffix=tableSuffix; + } + } @Override public String getSuffix() { String format = "%0" + (tableSuffix.length() - 1) + "d"; - return "_"+String.format(format, Math.abs(hash.hashCode()) % tableSize); + return tableSuffix.substring(0,1)+String.format(format, Math.abs(hash.hashCode()) % tableSize); } + } -- Gitblit v1.8.0