「java高效开发流水号」java 流水号

博主:adminadmin 2022-12-08 00:27:06 70

今天给各位分享java高效开发流水号的知识,其中也会对java 流水号进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java高性能订单流水号永远不重复8位数

8位数 也就是 1~99999999

然后你直接生成的随机数 校对数据库是否存在这个数,存在你就再次调用随机数,不存在你就用这个随机数,并且保存到数据库(注:不满8位,比如1,你就字符串拼接 00000001,再比如 79233 ,你拼接位00079233)

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实现自动生成流水号的方法?

方法有很多,最常见的就是在数据库记录一个字段,例如JnlNo字段,每次获取流水号的时候,对JnlNo进行+1更新操作即可,再加上一些长度要求,格式要求就可以了..

关于java高效开发流水号和java 流水号的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-08,除非注明,否则均为首码项目网原创文章,转载请注明出处。