㈠ 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怎么自动生成订单流水号
看想要哪种类型的流水号
只要数字的,可以用
系统毫秒+用户id
生成
流水号,这能保证唯一(同一个用户同一毫秒只能发其一次流水号申请)
如果可以带字母的,就用java
自带的
生成uuid
类,生成一个
㈢ java生成流水号
先生成随机数你用set add一下 返回 true再用就可以保证不重复了
㈣ java 生6位流水号
你是要处理并发问题,
1.处理类中使用线程锁
2.在处理之前使用 select xxx from aaa for update 这样的SQL进行锁表,
㈤ java怎么产生无重复的流水号!
可以使用java.util.UUID.randomUUID().toString(); 产生一个不会重复的流水号。也就是UUID。
㈥ 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 生成流水号为什么不使用sequence
sequence
是数据库级别的流水号
java生成流水号一般都用uuid生成32位的ID值,确保不会重复。
㈧ 怎样用java生成固定14位的随机流水号,要唯一 解决方案
sequence
是数据库级别的流水号
java生成流水号一般都用uuid生成32位的ID值,确保不会重复。
㈨ javastream里如何实现自增
java项目实现流水号自动增长
项目中有一个规则编号字段,从1开始,编号长度为5位,那么第一条数据编号就是00001。
实现的基本思路就是项目启动时,从数据库获取当前最大值,作为静态变量存储;
业务获取新的编码,考虑并发问题,获取编码方法(编码自增部分)为synchronized同步方法,如果自增为原子操作,则无需同步;
编码前置0,使用String.format("%05d", newNum);格式化获取。
实现代码如下:
private final static AtomicInteger atomic = new AtomicInteger(0);
public static String startFormat(String format) {
return String.format(format, atomic.incrementAndGet());
}
㈩ java怎样自动生成流水号
看想要哪种类型的流水号
只要数字的,可以用 系统毫秒+用户ID 生成 流水号,这能保证唯一(同一个用户同一毫秒只能发其一次流水号申请)
如果可以带字母的,就用java 自带的 生成UUID 类,生成一个