- * ID组成:时间(7+)| 毫秒内的时间自增 (00~99:2)| 机器ID(0 ~ 9:1)| 随机数(000~999:3)用于分库分表时,通过 id 取模,保证分布均衡。
+ * ID组成:时间(7+)| 毫秒内的时间自增 (00~99:2)| 机器ID(00 ~ 99:2)| 随机数(00~99:2)用于分库分表时,通过 id 取模,保证分布均衡。
*/
public class FlexIDKeyGenerator implements IKeyGenerator {
@@ -85,12 +85,14 @@ public class FlexIDKeyGenerator implements IKeyGenerator {
lastTimeMillis = currentTimeMillis;
long diffTimeMillis = currentTimeMillis - INITIAL_TIMESTAMP;
- return diffTimeMillis * 1000000 + clockSeq * 10000 + workId * 1000 + getRandomInt();
+
+ //ID组成:时间(7+)| 毫秒内的时间自增 (00~99:2)| 机器ID(00 ~ 99:2)| 随机数(00~99:2)
+ return diffTimeMillis * 1000000 + clockSeq * 10000 + workId * 100 + getRandomInt();
}
private int getRandomInt() {
- return ThreadLocalRandom.current().nextInt(1000);
+ return ThreadLocalRandom.current().nextInt(100);
}
diff --git a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java
index 49b3d216..889395ea 100644
--- a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java
+++ b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/AccountSqlTester.java
@@ -362,7 +362,9 @@ public class AccountSqlTester {
@Test
public void testJoinSelf() {
QueryWrapper queryWrapper = QueryWrapper.create()
- .select()
+ .select(ACCOUNT.ALL_COLUMNS
+// ,column("a0.xxxx").as("xxx")
+ )
.from(ACCOUNT).as("a0")
.leftJoin(ACCOUNT).as("a1").on(ACCOUNT.ID.eq(ACCOUNT.AGE).and(ACCOUNT.USER_NAME.like("a")))
.where(ACCOUNT.AGE.ge(10));
diff --git a/mybatis-flex-processor/pom.xml b/mybatis-flex-processor/pom.xml
index b5d4f9c6..897deaec 100644
--- a/mybatis-flex-processor/pom.xml
+++ b/mybatis-flex-processor/pom.xml
@@ -5,7 +5,7 @@