日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

流水单号产生方法

發布時間:2025/7/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流水单号产生方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引用: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);
????
??? }

轉載于:https://www.cnblogs.com/sode/archive/2012/09/26/2704653.html

總結

以上是生活随笔為你收集整理的流水单号产生方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。