㈠ 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 類,生成一個