Java常用生成订单编号数字的方法

38次阅读

共计 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;
    }
}

正文完
 0