流水号java代码 流水号编码

Oracle+Java从数据库中取出产品简称+流水号 例如:XXX00000001这样的怎么写?

是中间填充0吗?

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为五龙口企业提供专业的网站设计、成都网站建设五龙口网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

TYPEABBREVIATE || right(6,'000000' || to_char(PRESENTNO))

怎样使用Java代码产生不重复的流水账号

既然是流水不重复,那么这个变量一定是常驻内存。。

简单的方法当然是个静态变量。。。

class A

{

static double n=0;

public static double getNumber()

{

double++;

return double ;

}

}

需要的时候直接 A.getNumber();直接重复调用就可以了。

如果是关了程序下次还是不重复,那就可以使用文件来初始化n

关闭程序把当前n保存到文件。

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

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

package Zxing;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Random;

/**

* 开发公司:SOJSON在线工具 p

* 版权所有:© 

* 博客地址:

* p

* Demo

* p

* 区分 责任人 日期说明br/

* 创建 周柏成 2017年4月11日 09:43  br/

*

* @author zhou-baicheng

* @email  so@sojson.com

* @version 1.0,2017年4月11日 09:43 br/

*/

public class Demo {

public static void main(String[] args) {

//格式化当前时间

SimpleDateFormat sfDate = new SimpleDateFormat("yyyyMMddHHmmssSSS");

String strDate = sfDate.format(new Date());

//得到17位时间如:20170411094039080

System.out.println("时间17位:" + strDate);

//为了防止高并发重复,再获取3个随机数

String random = getRandom620(3);

//最后得到20位订单编号。

System.out.println("订单号20位:" + strDate + random);

}

/**

* 获取6-10 的随机位数数字

* @param length    想要生成的长度

* @return result

*/

public static String getRandom620(Integer length) {

String result = "";

Random rand = new Random();

int n = 20;

if (null != length  length  0) {

n = length;

}

int randInt = 0;

for (int i = 0; i  n; i++) {

randInt = rand.nextInt(10);

result += randInt;

}

return result;

}

}

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

希望对你有帮助!获取当前时间毫秒数,如果是单线程的话,一定无重复

一般这样在多线程并发中取到相同毫秒的概率都几乎为0,基本可以保证无重复

java怎样自动生成流水号

方法一:

不用数据库的话弄个 static个变量,自己设置个synchronized

示例:

import java.text.DecimalFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

public class PrimaryGenerater {

private static final String SERIAL_NUMBER = "XXXX"; // 流水号格式

private static PrimaryGenerater primaryGenerater = null;

private PrimaryGenerater() {

}

/**

* 取得PrimaryGenerater的单例实现

*

* @return

*/

public static PrimaryGenerater getInstance() {

if (primaryGenerater == null) {

synchronized (PrimaryGenerater.class) {

if (primaryGenerater == null) {

primaryGenerater = new PrimaryGenerater();

}

}

}

return primaryGenerater;

}

/**

* 生成下一个编号

*/

public synchronized String generaterNextNumber(String sno) {

String id = null;

Date date = new Date();

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

if (sno == null) {

id = formatter.format(date) + "0001";

} else {

int count = SERIAL_NUMBER.length();

StringBuilder sb = new StringBuilder();

for (int i = 0; i  count; i++) {

sb.append("0");

}

DecimalFormat df = new DecimalFormat("0000");

id = formatter.format(date)

+ df.format(1 + Integer.parseInt(sno.substring(8, 12)));

}

return id;

}

}

方法二:

可以在数据库新建序列,再新建一个存储过程控制序列,返回序列值,比如sqlserver用identity,oracle用序列,存储过程可以加锁,当达到999999的时候重置序列,通过代码调用存储过程获得返回值。

2、全局变量。通过方法获取下一个值,方法同步。

新闻名称:流水号java代码 流水号编码
本文路径:https://www.cdcxhl.com/article34/hhggse.html

成都网站建设公司_创新互联,为您提供品牌网站设计企业建站小程序开发微信小程序全网营销推广手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设