当前位置:首页 » 编程语言 » java流水号生成

java流水号生成

发布时间: 2022-08-28 05:55:24

java生成流水号 200+当前时间+0001 200+当前时间+0002 到了每年的1月1号流水号重新从0001开始

数据库里创建一个序列,每次到数据库里取一次值再拼成流水号。每年一月把序列重置为0

❷ java实现自动生成流水号的方法

public
static
String
getOrderNo(){
long
No
=
0;
SimpleDateFormat
sdf
=
new
SimpleDateFormat("yyyyMMdd");
String
nowdate
=
sdf.format(new
Date());
No
=
Long.parseLong(nowdate)*1000;//这里如果一天订单多的话可以用一万或更大
No+=getNo();
return
getUserId+No;
}
public
static
int
getNo(){//返回当天的订单数+1
return
001;
}
public
static
String
getUserId(){
return
"123";
}
用System.out.print(getOrderNo());测试得到:12320060307001
一般订单号用这样还不错吧。呵呵

❸ java怎么产生无重复的流水号!

希望对你有帮助!获取当前时间毫秒数,如果是单线程的话,一定无重复
一般这样在多线程并发中取到相同毫秒的概率都几乎为0,基本可以保证无重复

❹ java 生6位流水号

你是要处理并发问题,
1.处理类中使用线程锁
2.在处理之前使用 select xxx from aaa for update 这样的SQL进行锁表,

❺ java怎么自动生成订单流水号

看想要哪种类型的流水号
只要数字的,可以用
系统毫秒+用户id
生成
流水号,这能保证唯一(同一个用户同一毫秒只能发其一次流水号申请)
如果可以带字母的,就用java
自带的
生成uuid
类,生成一个

❻ java 生成流水号为什么不使用sequence

sequence
是数据库级别的流水号
java生成流水号一般都用uuid生成32位的ID值,确保不会重复。

❼ java怎么生成一个一天内不会重复的20位流水号

我为您写了 一遍,望采纳。

packageZxing;

importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Random;
/**
*
*开发公司:SOJSON在线工具<p>
*版权所有:©www.sojson.com
*博客地址:http://www.sojson.com/blog/
*<p>
*
*Demo
*
*<p>
*
*区分责任人日期说明<br/>
*创建周柏成2017年4月11日09:43<br/>
*
*@authorzhou-cheng
*@[email protected]
*@version1.0,2017年4月11日09:43<br/>
*
*/
publicclassDemo{

publicstaticvoidmain(String[]args){
//格式化当前时间
SimpleDateFormatsfDate=newSimpleDateFormat("yyyyMMddHHmmssSSS");
StringstrDate=sfDate.format(newDate());
//得到17位时间如:20170411094039080
System.out.println("时间17位:"+strDate);
//为了防止高并发重复,再获取3个随机数
Stringrandom=getRandom620(3);

//最后得到20位订单编号。
System.out.println("订单号20位:"+strDate+random);

}
/**
*获取6-10的随机位数数字
*@paramlength想要生成的长度
*@returnresult
*/
(Integerlength){
Stringresult="";
Randomrand=newRandom();
intn=20;
if(null!=length&&length>0){
n=length;
}
intrandInt=0;
for(inti=0;i<n;i++){
randInt=rand.nextInt(10);

result+=randInt;
}
returnresult;
}
}

❽ 如何生成单号(Java)

因为时间有限,我只能给你思路了.首先新建一个配制文件.XML,.properties都可,设三个参数固定数字,日期,流水号.首先,写一个定时任务,每天00:00执行,用初始化这三个参数.再先一个UTIL类,这个类的功能就是读取流水号,给这个流水号+1,再把这个流水号保存到配制文件里,记得读取的时候上把锁.用到的java知识有TimerTask,在JAVA的包中,有提供专门的操作,.properties属性文件的类java.uitl.Properties类可以很容易的实现读写,再就是同步和异步操作.
还有别外一个方法就是,用数据库来实现,建一个序列,设一个定时器,每天00:00执行,功能就是把你新建的序列号置为1,日期和国定号可以随时读取,再拼成字符串就可以返回了,这种方法简单,不需要控制什么.

❾ java高并发中业务流水号怎么实现的

产生流水号的都是用数据库的序列
直接触发,任何并发都没有影响的

热点内容
安卓手机的云备份在哪里能找到 发布:2025-01-17 00:14:12 浏览:471
诈骗的脚本 发布:2025-01-16 23:51:27 浏览:314
电脑配置有点低怎么玩和平精英 发布:2025-01-16 23:46:14 浏览:818
ipfs分布式服务器是什么币种 发布:2025-01-16 23:32:29 浏览:991
android动态icon 发布:2025-01-16 23:03:12 浏览:605
优酷电脑缓存在哪 发布:2025-01-16 22:58:29 浏览:298
进口途锐哪个配置好 发布:2025-01-16 22:35:24 浏览:962
骨干路由器怎么配置 发布:2025-01-16 22:24:39 浏览:244
途安2021款买哪个配置 发布:2025-01-16 22:21:01 浏览:329
图片的压缩原理 发布:2025-01-16 22:17:15 浏览:493