简单介绍订单号或者流水号的生成方法

article/2025/11/8 16:32:20

一般订单号或者流水号等可能在一些平台会用到,然后我就简单的介绍一个我自己生成订单号和流水号的一个方法吧,如果程序有问题或者你有更好的生成办法,欢迎留言,留下你的文章链接,我们一起学习和进步哈。

方法简介:

一般订单号或者流水号的生成,是时间戳+随机数(或者自己写的算法生成),或者是时间戳+订单类型+随机数

比如在A平台付款的,订单类型就是0001,B平台付款的就是0002,总之可以自己想怎么定义就怎么定义,

这里我介绍的是时间戳包括秒(14位)+随机6位数

时间戳生成方法:

这里就不多解释了,相信你写的项目都会用到生成时间的

    /*** 获取YYYY-MM-DD HH:mm:ss格式* @return*/public static String getTime() {SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("时间戳:"+sdfTime.format(new Date()));return sdfTime.format(new Date());}

但是生成的时间是xxxx-xx-xx xx:xx:xx带 - 和 冒号的,我们要把它去掉,相信去掉的方法有很多,我这里用的是正则去掉的

getTime().replaceAll("[[\\s-:punct:]]", "")

 

有的小伙伴们可能会说,如果一秒+随机数的话,并发量如果很大的话,可能会重复,如果是这样的话,大家可以再在将时间精确到毫秒,如下代码,毫秒+随机数 还是有重复的话,可以再在将随机数扩大到8位10位这样,如果这样在毫秒级别还能重复,那你的并发量是有多大,这么大的企业,自己可以写一个生成订单号的算法了吧,小白只能膜拜大佬了,请问可以招我入职吗

    /*** 获取YYYY-MM-DD HH:mm:ss:SS格式 精确到毫秒* @return*/public static String getTime() {SimpleDateFormat sdfTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");System.out.println("时间戳:"+sdfTime.format(new Date()));return sdfTime.format(new Date());}

随机6位数生成方法:

这里用到的是java.util.Random类 的Random()方法的nextInt()方法,

讲到这里,就得讲一下 java.lang.Math 类 的Math.random() 方法

区别和联系,其实这两个都是能够生成随机数的,

java.util.Random类中的nextXxxx系列方法生成0-n的随机数;

Math.random() 方法生成[0, 1)范围内的double类型随机数,如果要生成[0,n)范围的,只要乘一个 (n-1)就可以啦

还有最重要的一点,Math.random()是线程安全的,多线程环境也能使用,具体的区别我这里就不多讲了,大家也可以百度这两者之间的区别,比如可以参考一下这篇文章:https://blog.csdn.net/u012099869/article/details/50394644

    /*** 随机生成六位数验证码* @return*/public static int getRandomNum(){Random r = new Random();return r.nextInt(900000)+100000;//(int)(Math.random()*999999)}

生成订单号如图所示

精确到秒:前面14位是时间,后面6位随机生成

精确到毫秒:前面17位是时间,后面6位是随机生成

生成订单号的demo代码可以下载:(只有一个java文件)

https://download.csdn.net/download/qq_27471405/10696399

 

 

 

参考文章:

https://blog.csdn.net/u012099869/article/details/50394644

感谢原作者的分享,让技术人能够更快的解决问题


http://chatgpt.dhexx.cn/article/moNmxLVE.shtml

相关文章

如何使用redis生成流水号

概述 本文讲述如何使用redis生成流水号。本文是在Springboot中实现的。知道原理之后其他框架也可以轻松实现。 原理介绍 本文主要是使用redis的incr方法进行自增补零。然后结合时间、随机数、前缀组成唯一的流水号。 下面是流水号的结构。 在文章的最后还是简单介绍一下redis的…

谈谈订单号和流水号的关系

订单号和流水号是不同的。 首先订单号是订单唯一的编号,而且电商平台的各种子系统也是根据订单来统计业务完成的情况,订单编号经常用来被查询,所以数据类型必须是数字,而且是全局唯一,那肯定就得主键字段了。 然后流水…

低代码学习教程:生成固定格式流水号

方法1:RECNO()方法2:MAPX() 表单设计中经常涉及流水号的制作问题,下面就分别介绍下两种编号的实现方法,大家可以根据需要自行选择。 注意: 百数已支持【流水号】控件,如有特殊要求可参考文档:…

【26天高效学习Java编程】Day19:Java 多线程

本专栏将从基础开始,循序渐进,由浅入深讲解Java的基本使用,希望大家都能够从中有所收获,也请大家多多支持。 专栏地址:26天高效学习Java编程 相关软件地址:软件地址 所有代码地址:代码地址 如果文章知识点有错误的地方&#x…

怎么入门学习Java编程

因为目前java非常火,应用非常的广泛,是目前最火的行业之一,竞争很大,工资很高,未来发展也极好。 如条件还可以,负担不是那么大,可以选择培训,培训一定会比你自学的好,如果培训都学不好,自学肯定更难。目前java的培训费用都是2W+,这还只是培训费而已,加上一些其他的…

Java学习

集合 什么是集合? 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组的区别 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型。如…

想学习Java编程,看书还是看视频更合适?

首先:自己本身就是初级或者零基础的,自己对软件了解的都不足够,跟着视频学,老师操作操作一步你就能看着他操作,这样心里更有谱。 第二:跟着视频学能学的更好,知识体系更全,一般视频…

自学过来人告诉你,初学者应该怎么快速的学习Java编程?

我说说我个人的案例吧,我电子信息专业,后来选择做了Java开发,在11年的时候开始学习的Java,可以说那时候的企业要求低于现在,我当时学习由于没有钱,我是自学的,我大学学过C语言 我晚上下班的时候…

通过项目驱动的学习方法快速掌握Java编程

摘要 Java作为一种广泛应用于软件开发领域的编程语言,对于零基础的学习者来说,学习Java编程可能存在一定的难度。本文将介绍如何通过项目驱动的学习方法,帮助零起点的学习者快速掌握Java编程。通过以项目为核心的学习路径、结合实践和理论的…

Java学习之编程入门

0 编程入门 0.1 概述0.2 计算机硬件介绍0.2.1 中央处理器0.2.2 存储设备0.2.3 内存0.2.4 输入和输出设备0.2.5 通信设备 0.3 计算机发展史上的鼻祖0.4 操作系统0.5 万维网0.6 职业发展与提升0.7 学习经验探讨 0.1 概述 计算机包括硬件(hardware)和软件(software)两部分。 硬件…

学习Java编程知识 必知要点

Java 是全球最受欢迎的编程语言之一,在世界编程语言排行榜 TIOBE 中,Java 一直霸占着前三名,有好多年甚至都是第一名。那么如此强大的Java你真的了解他的知识体系吗?他的学习路线你知道吗? 1. Java虚拟机——JVM JVM&a…

java三大平台介绍,选择哪个平台学习java编程?

💂 个人主页: IT学习日记🤟 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦💅 想寻找共同成长的小伙伴,请点击【技术圈子】 眼见…

学习java

Java 深度历险(作者成富,是IBM 中国软件开发中心的高级工程师) 2 目录 序 .................................................................................................................................. 1 目录 ................................…

Java怎么学习

入门的时候一定要搞清楚面向对象相关的概念 对象&#xff0c;类&#xff0c;实例&#xff0c;这三者的含义&#xff0c;还有三者之间有什么关系。 类之间的关系有那些<继承&#xff0c;聚合 组合&#xff0c;普通关联 自返关联>&#xff0c;关联的多重性&#xff0c;都…

Java:学习Java编程的主要技巧

随着互联网时代的发展&#xff0c;软件开发行业热度不断飙升&#xff0c;企业对软件开发人才需求量也与日俱增&#xff0c;尤以Java工程师为首&#xff0c;这也是一直以来Java培训日趋火热的原因。那么今天小编就和大家说说学Java编程的几个学习技巧 你精通基础知识吗? 掌握基…

JAVA编程入门学习

JAVA编程入门学习 本次学习内容&#xff1a; 1、Java初步讲解 2、Java运行环境的安装及应用 3、进行简单的Java编程 一、程序&#xff1a; 程序 算法 数据结构 用户使用编程语言实现问题域到解域的映射&#xff0c;细节描述算法。 1、编程语言——三大类&#xff1a;…

Java编程入门

Java编程入门 初始Java开发Java编程起步JShell工具CLASSPATH 环境属性 JAVA基本概念注释标志符与关键字 JAVA数据类型划分JAVA数据类型简介整型数据类型浮点型数据字符型数据布尔数据String 字符串 Java运算符运算符简介数学运算符关系运算符逻辑运算符位运算 Java程序逻辑控制…

JAVA基础入门学习编程

第一章 使用记事本编写一个HelloWorld程序&#xff0c;并在命令行窗口编译运行&#xff0c;并打印输出结果。 public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!!");} } 第二章 1、请编写程序&#xff0c;实…

学习Java编程入门书籍

《Head First Java》 《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位&#xff0c;在Java类书籍中排名第2位。豆瓣评分为8.8分&#xff0c;有百分之54.4%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Ja…

初学者怎么学习java编程

1。java是分为三个主要方向&#xff1a; CS架构&#xff08;java SE&#xff09;。BS架构&#xff08;java web&#xff09;。java手机开发&#xff08;java ME&#xff09;&#xff0c;非Android开发。 &#xff08;1&#xff09;、java CS架构&#xff08;客户端/服务器&am…