zoukankan      html  css  js  c++  java
  • 流水单号产生方法

    引用:http://www.54xue.com/w/42/n-31442.html

    项目中有这样的需求:每天从00001开始生成5位的流水号,比如2012年9月16日,00001、00002、……99999,到2012年9月17日,又从00001开始。而且系统重启后依然需要保持流水性,重启前是00012,那么重启后需要从00013开始。
        
        选择的一个方案就是将流水号保存到数据库。
        
        1、流水号实体
        
        /** * 流水号 * @author Luxh * 2012-9-16 */public class SerialNumber {
        
        private String id;
        
        /**
        
        * 流水号
        
        */
        
        private Integer serialNo;
        
        /**
        
        * 生成日期(格式:yyyyMMdd)
        
        */
        
        private String generateDate;
        
        //getter/setter方法
        
        //…}
        
        2、流水号实体对应的数据表

        3、生成流水号的程序
        
        /**
        
        * 生成流水号
        
        * @return
        
        */
        
        public String generateSerialNumber() {
        
        //当天的初始化流水号为1
        
        Integer serialNo = 1;
        
        //查询当天的下一个流水号
        
        String hql = “SELECT max(t.serialNo+1) FROM SerialNumber t WHERE t.generateDate=?”;
        
        String generateDate = DateUtils.formatDate(new Date(), “yyyyMMdd”);
        
        Object obj = session.createQuery(hql)。setParameter(0, generateDate)。uniqueResult();
        
        if(obj != null) {
        
        serialNo = (Integer) obj;
        
        }
        
        //将当前序列号保存到数据库
        
        SerialNumber sn = new SerialNumber();
        
        sn.setSerialNo(serialNo);
        
        sn.setGenerateDate(generateDate);
        
        session.save(sn);
        
        //将流水号格式化为 “00001”  5位长度返回
        
        return String.format(“%05d”, serialNo);
        
        }

  • 相关阅读:
    Django(60)Django内置User模型源码分析及自定义User
    Django(59)验证和授权
    Django(58)viewsets视图集详解
    Django(57)Generic类视图
    正则表达式
    JMeter之检查点(JSON断言)
    JMeter之检查点(响应断言)
    JMeter之参数化(一)
    JMeter之一个简单的性能测试
    JMeter基础
  • 原文地址:https://www.cnblogs.com/sode/p/2704653.html
Copyright © 2011-2022 走看看