最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java生成申請單序列號的實(shí)現(xiàn)方法

 更新時間:2014年01月03日 15:17:22   作者:  
申請單序列號一般要求根據(jù)一定的規(guī)則生成后幾位連續(xù)的字符串,下面是我項(xiàng)目中使用的生成序列號的代碼,其中用到了鎖機(jī)制,有需要的朋友可以參考一下

復(fù)制代碼 代碼如下:

import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang3.StringUtils;

/**
 * 產(chǎn)生流水號工具類
 * @version V1.0
 * @date: 2013-11-16 下午5:21:37
 */

public class SerialNum {

 private static String count = "000";
 private static String dateValue = "20131115";

 /**
  * 產(chǎn)生流水號
  */
 public synchronized static String getMoveOrderNo() {
  long No = 0;
  SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  String nowdate = sdf.format(new Date());
  No = Long.parseLong(nowdate);
  if (!(String.valueOf(No)).equals(dateValue)) {
   count = "000";
   dateValue = String.valueOf(No);
  }
  String num = String.valueOf(No);
  num += getNo(count);
  num = "CB" + num;
  return num;
 }

 /**
  * 獲取撤展單序列號
  */
 public synchronized static String getMoveOrderNo(String serialNum) {
  String nyr = StringUtils.substring(serialNum, 2, 10); // 獲取年月日字符串
  String countV = StringUtils.substring(serialNum, 10); // 獲取流水號
  if (Integer.valueOf(countV) > Integer.valueOf(count)) {
   dateValue = nyr;
   count = String.valueOf(countV);
  }
  return getMoveOrderNo();
 }

 /**
  * 返回當(dāng)天的訂單數(shù)+1
  */
 public static String getNo(String s) {
  String rs = s;
  int i = Integer.parseInt(rs);
  i += 1;
  rs = "" + i;
  for (int j = rs.length(); j < 3; j++) {
   rs = "0" + rs;
  }
  count = rs;
  return rs;
 }

 public static void main(String[] args) {
  for (int i = 0; i < 10; i++) {
   System.out.println(getMoveOrderNo());
  }
 }

}

注意:上面的程序如果服務(wù)器一直能夠正常運(yùn)行就不會出什么問題,要是重啟服務(wù)器或者中間出現(xiàn)什么故障需要重啟服務(wù)都可能造成重復(fù)序列號的產(chǎn)生,為了能夠保證唯一,我們需要配合上數(shù)據(jù)庫的查詢,查詢最后一條記錄,然后拿出序列號在調(diào)用getMoveOrderNo(String serialNum)這個方法,就能夠保證什么情況下生成的序列號都是正確唯一的。

相關(guān)文章

  • JAVA中的日期LocalDate類詳細(xì)用法講解

    JAVA中的日期LocalDate類詳細(xì)用法講解

    Java中存在一個日歷表示法的類庫,LocalDate類,如果只想要指定的年月日就可以用這個LocalDate類,下面這篇文章主要給大家介紹了關(guān)于JAVA中日期LocalDate類詳細(xì)用法講解的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案

    這篇文章主要介紹了Spring關(guān)閉Tomcat Servlet容器時內(nèi)存泄漏問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Spring cloud oauth2如何搭建認(rèn)證資源中心

    Spring cloud oauth2如何搭建認(rèn)證資源中心

    這篇文章主要介紹了Spring cloud oauth2如何搭建認(rèn)證資源中心,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 詳解SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能

    詳解SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能

    本文主要介紹了SpringBoot項(xiàng)目整合Vue做一個完整的用戶注冊功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringBoot+MyBatis-Plus+Velocity實(shí)現(xiàn)代碼自動生成

    SpringBoot+MyBatis-Plus+Velocity實(shí)現(xiàn)代碼自動生成

    本文主要介紹了使用SpringBoot、MyBatis-Plus和Velocity模板引擎實(shí)現(xiàn)代碼自動生成器,該生成器能夠根據(jù)數(shù)據(jù)庫表結(jié)構(gòu)自動生成增刪改查操作的代碼,感興趣的可以了解一下
    2025-03-03
  • Mybatis-plus selectByMap條件查詢方式

    Mybatis-plus selectByMap條件查詢方式

    這篇文章主要介紹了Mybatis-plus selectByMap條件查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Mybatis的動態(tài)Sql組合模式詳情

    Mybatis的動態(tài)Sql組合模式詳情

    這篇文章主要介紹了Mybatis的動態(tài)Sql組合模式詳情,這篇文章從組合模式的角度分析了Mybatis動態(tài)sql的部分,SqlNode是組合模式的Component接口,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-08-08
  • Java中的事件處理機(jī)制詳解

    Java中的事件處理機(jī)制詳解

    這篇文章主要介紹了Java中的事件處理機(jī)制詳解,Java事件處理是采取"委派事件模型",當(dāng)事件發(fā)生時,產(chǎn)生事件的對象,會把此"信息"傳遞給"事件的監(jiān)聽者"處理,這里所說的"信息"實(shí)際上就是java.awt.event事件類庫里某個類創(chuàng)建對象,把它稱為"事件的對象",需要的朋友可以參考下
    2023-10-10
  • SpringBoot集成WebSocket實(shí)現(xiàn)后臺向前端推送信息

    SpringBoot集成WebSocket實(shí)現(xiàn)后臺向前端推送信息

    在一次項(xiàng)目開發(fā)中,使用到了Netty網(wǎng)絡(luò)應(yīng)用框架,以及MQTT進(jìn)行消息數(shù)據(jù)的收發(fā),這其中需要后臺來將獲取到的消息主動推送給前端,所以本文記錄了SpringBoot集成WebSocket實(shí)現(xiàn)后臺向前端推送信息的操作,需要的朋友可以參考下
    2024-02-02
  • 詳解Spring中使用@within與@target的區(qū)別

    詳解Spring中使用@within與@target的區(qū)別

    這篇文章主要介紹了Spring中使用@within與@target的一些區(qū)別,本文通過項(xiàng)目案例給大家詳細(xì)分析,給大家介紹的非常詳細(xì),代碼簡單易懂,需要的朋友可以參考下
    2021-09-09

最新評論

扎囊县| 慈溪市| 兴安盟| 如皋市| 呼和浩特市| 博罗县| 遵义市| 伽师县| 伊宁市| 和静县| 怀集县| 于都县| 专栏| 盐津县| 丘北县| 丰顺县| 舟曲县| 上思县| 大田县| 临西县| 怀仁县| 上杭县| 临沧市| 灵石县| 玛沁县| 新郑市| 利津县| 龙岩市| 民和| 罗甸县| 诸暨市| 大理市| 昭通市| 建德市| 西城区| 阿克陶县| 洛南县| 黄冈市| 信阳市| 高阳县| 嵊泗县|