一般的生成随机id的方式可以是通过数据库自动增长,也可以是使用random函数进行随机id生成,同时也可以使用雪花算法生成随机递增的id,接下来我们就来看看具体怎么用吧~
数据库生成随机id其实还是挺简单的,所以这里就不做介绍了,这里来看另外两种实现方式
Random函数
public class RandomUtil {
private static String lastRandomNumber = "BZ00000"; // 初始值设定为 BZ00000
public static String generateRandomNumber(String prefix,int nums) {
Random random = new Random();
int increment = random.nextInt(1000) + 1; // 生成一个 1 到 1000 之间的随机增量
int newNumber = Integer.parseInt(lastRandomNumber.substring(nums)) + increment; // 根据增量计算新的数字部分
lastRandomNumber = prefix + String.format("%05d", newNumber); // 格式化为 BZ+5位数字
return lastRandomNumber;
}
}
雪花算法
关于这个算法的具体实现原理我这里就不做介绍了,我这里直接使用hutool工具结合uuid生成,当然你需要导入以下依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
代码中均做有注释,若有疑问请在评论区留言~