共计 574 个字符,预计需要花费 2 分钟才能阅读完成。
对于商城订餐等的互联网项目的订单编号,可优先选择使用数字来做订单编号主键。
因为数据库来说,索引查找性能更好。
然而,你也可以使用 UUID
来进行生成,对于数量量不大,并发小的小项目都可以适用。
下面是生成的方法,使用简单规则 时间 + 随机数
import java.util.Random;
/**
* 生成订单唯一主键,纯数字
*/
public class KeyUtil {
/**
* 生成主键 id
* 时间 + 随机数
* @return
*/
public static synchronized String generateUniqueKey(){Random random = new Random();
// 随机数的量 自由定制,这是 9 位随机数
Integer r = random.nextInt(900000000) + 100000000;
// 返回 13 位时间
Long timeMillis = System.currentTimeMillis();
// 返回 17 位时间
DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String timeStr = sdf.format(new Date());
// 13 位毫秒 + 9 位随机数
///return timeMillis + String.valueOf(r);
// 17 位时间 + 9 位随机数
return timeStr + r;
}
}
正文完