导航:首页 > 编程语言 > java生成流水号

java生成流水号

发布时间:2023-02-07 02:09:36

java自动生成进货编码

import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 自动生产编号
* @author
*chengeng
*/
public class AutoNum {
/**
*
* 在用此类时,必须先明确自己模块编号的开头
* @param start编号开头,
* @param num从数据库查询出的最大编号
* @return
*/
public String getNum(String start,String num){
String n=num.substring(0,3);
if(!n.equals(start)){
System.out.println("编号的开头与从数据库取得的编号开头不相同");
return "";
}
String strDate="";//流水号时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
//格式化当前时间,并按字符'-'分割
String[] sd=sdf.format(date).split("-");
//截取编号中的日期
String time=num.substring(3,11).toString();

for(int i=0;i<sd.length;i++){
strDate+=sd[i];
}
//如果当天或者表中没有记录,返回当天第一条记录
if(!time.equals(strDate)||num.equals("")){
return start+strDate+"0001";
}
// 截取编号最后的流水号
String end=num.substring(11, 15);
String s2="";
int lg=Integer.parseInt(end);
//对流水号结尾的四位数字进行判断,以便增加
if(lg>0&&lg<9){
s2="000"+(lg+1);
}else if(lg>=9&&lg<99){
s2="00"+(lg+1);
}else if(lg>=99&&lg<999){
s2="0"+(lg+1);
}else if(lg>=999&&lg<9999){
s2=""+(lg+1);
}
//返回自动生成后的流水号
return start+=strDate+s2;
}
}

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

可以使用java.util.UUID.randomUUID().toString(); 产生一个不会重复的流水号。也就是UUID。

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

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

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

看想要哪种类型的流水号
只要数字的,可以用
系统毫秒+用户id
生成
流水号,这能保证唯一(同一个用户同一毫秒只能发其一次流水号申请)
如果可以带字母的,就用java
自带的
生成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生成流水号 200+当前时间+0001 200+当前时间+0002 到了每年的1月1号流水号重新从0001开始

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

⑺ java 生6位流水号

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

⑻ java生成流水号

先生成随机数你用set add一下 返回 true再用就可以保证不重复了

⑼ 怎样用java生成固定14位的随机流水号,要唯一 解决方案

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生成流水号相关的资料

热点内容
ps3文件分割视频 浏览:280
微信图片一键转发软件 浏览:331
如何判断s200plc编程电缆 浏览:691
太原编程培训班哪个好 浏览:171
树叶吹奏教程 浏览:6
社交app带来了哪些社会问题 浏览:394
如何安装爱宝8800数据采集器 浏览:712
文件保存了怎么找不到了 浏览:476
彩票网站怎么辨真假 浏览:840
pr找不到该文件 浏览:963
java移除panel 浏览:354
jsp填充jsp 浏览:166
海关外贸大数据在哪里查 浏览:381
思特奇java笔试题 浏览:121
葫芦侠在手机中的文件名 浏览:813
plc编程应该怎么收钱 浏览:584
c语言中源文件由什么组成 浏览:890
linuxhttpdphp配置文件 浏览:607
拆单数据要怎么保存 浏览:17
mac电脑怎样压缩文件到100m 浏览:645

友情链接