當前位置:首頁 » 編程語言 » java訂單號生成

java訂單號生成

發布時間: 2023-06-06 00:53:03

『壹』 java自動生成編號

private static int m=1;//全局靜態變數,(必須static修飾)每調用一次方法自增1
public String add(){
addin(m);
return "addTiao";

}
public void addin(int a){
String str1="A";
Date date=new Date();
String str2=new SimpleDateFormat("yyyyMMdd"). format(date);//自動生成日期
int datee=Integer.parseInt(str2);
inlist=instockService.getInListDown();//按降冪排序
instockEntity=(InstockEntity) inlist.get(0);
String ss=instockEntity.getInstock_number();//得到最大日期
if(ss!=null){
String riqi=ss.substring(1, 9);
int riqi1=Integer.parseInt(riqi);
if(datee>riqi1){
a=1;//如果日期變大則初始化訂單號
}
}

String str3=null;
if(a>=0&&a<=9){
str3="00"+String.valueOf(a);
}else if(a>=10&&a<=99){
str3="0"+String.valueOf(a);
}else if(a>=100&&a<=999){
str3=String.valueOf(a);
}
String instock_number=str1+str2+str3;
instockEntity.setInstock_number(instock_number);

instockService.add(instockEntity);
m=a+1;
}

『貳』 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;
}
}

『叄』 如何生成唯一訂單號

首先,訂單號有3個性質:1.唯一性 2.不可推測性 3.效率性

唯一性和不可推測性不用說了,效率性是指不能頻繁的去資料庫查詢以避免重復。
況且滿足這些條件的同時訂單號還要足夠的短。
我在java下定製的訂單號生成方式如下:
int r1=(int)(Math.random()*(10));//產生2個0-9的隨機數
int r2=(int)(Math.random()*(10));
long now = System.currentTimeMillis();//一個13位的時間戳
String paymentID =String.valueOf(r1)+String.valueOf(r2)+String.valueOf(now);// 訂單ID

目前規則來看,兩個人在同一微秒提交訂單重復的概率為1%
訂單效果:251393292999921

望採納!

熱點內容
u盾證書存儲 發布:2025-02-19 01:04:43 瀏覽:671
ALG配置要打開哪些 發布:2025-02-19 01:00:53 瀏覽:172
創意編程是什麼意思 發布:2025-02-19 01:00:51 瀏覽:903
伺服器的授權是什麼 發布:2025-02-19 00:49:39 瀏覽:237
原車中控屏怎麼安裝安卓 發布:2025-02-19 00:39:55 瀏覽:65
游戲腳本卡盟 發布:2025-02-19 00:38:10 瀏覽:315
本地文件夾自動備份 發布:2025-02-19 00:31:23 瀏覽:507
暗影格鬥3伺服器維護怎麼辦 發布:2025-02-19 00:26:15 瀏覽:350
安卓系統如何打開游戲 發布:2025-02-19 00:25:29 瀏覽:559
怎麼搭建自己的海外伺服器 發布:2025-02-19 00:15:22 瀏覽:870