博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java生成唯一订单号
阅读量:5931 次
发布时间:2019-06-19

本文共 654 字,大约阅读时间需要 2 分钟。

hot3.png

1.用UUID生成十六位数唯一订单号

    public static String getOrderIdByUUId() {

        int machineId = 1;//最大支持1-9个集群机器部署
        int hashCodeV = UUID.randomUUID().toString().hashCode();
        if(hashCodeV < 0) {//有可能是负数
            hashCodeV = - hashCodeV;
        }
//         0 代表前面补充0     
//         4 代表长度为4     
//         d 代表参数为正数型
        return  machineId+ String.format("%015d", hashCodeV);
    }

2.也可以时间+随机数

    public static String getOrderIdByTime() {

        SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
        String newDate=sdf.format(new Date());
        String result="";
        Random random=new Random();
        for(int i=0;i<3;i++){
            result+=random.nextInt(10);
        }
        return newDate+result;
    }

高并发性下,确保订单的唯一性,可以把用户id加进去

 

转载于:https://my.oschina.net/redpotato/blog/2998802

你可能感兴趣的文章
从零开始来看一下Java泛型的设计
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
跨运营商组播传送案例(multicast-proxy-register应用)
查看>>
JTable的DefaultModel方法getValueAt(a,row)
查看>>
Good Bye 2013 A
查看>>
Automatic Sql Server Backup Utility Using sqlserveragent
查看>>
Java是如何读取和写入浏览器Cookies的
查看>>
篇一、安装配置Android Studio
查看>>
C#代码安装、卸载、监控Windows服务
查看>>
2014年抢票总结
查看>>
zephir开发的扩展“wudimei框架”之模板词法扫描(三)完成代码切分
查看>>
ML 线性回归Linear Regression
查看>>
【转载】SweetAlert2 使用
查看>>
oracle如何用sql查看触发器?
查看>>
如何对HashMap按键值排序
查看>>
test
查看>>
IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm
查看>>