欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java數(shù)據(jù)庫唯一id生成工具類

 更新時間:2019年04月21日 15:37:03   作者:Tlimited  
這篇文章主要為大家詳細介紹了java數(shù)據(jù)庫唯一id生成工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java數(shù)據(jù)庫唯一id生成工具類的具體代碼,供大家參考,具體內(nèi)容如下

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;

public class UniqueIdUtil
{
 private static long adjust = 1L;
 private static long nextId = 0L;
 private static long lastId = -1L;
 private static long randomLeng = 6L;
 private static JdbcTemplate jdbcTemplate;
 private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
 
 private static void init()
 {
  try
  {
   jdbcTemplate = (JdbcTemplate)AppUtil.getBean("jdbcTemplateSN");
   String str2 = AppConfigUtil.get("genId.adjust");
   if (str2 != null) {
    adjust = Integer.parseInt(str2);
   }
  }
  catch (Exception localException)
  {
   adjust = 1L;
   String str3 = AppConfigUtil.get("genId.adjust");
   if (str3 != null) {
    adjust = Integer.parseInt(str3);
   }
  }
 }
 
 private static void getNextIdBlock()
 {
  if (jdbcTemplate == null) {
   init();
  }
  Long localLong = Long.valueOf(-1L);
  Integer localInteger = Integer.valueOf(-1);
  String str1 = "SELECT bound,incremental FROM SYS_DB_ID T WHERE T.ID=?";
  String str2 = "UPDATE SYS_DB_ID SET BOUND=? WHERE ID=?";
  try
  {
   Map localMap = jdbcTemplate.queryForMap(str1, new Object[] { Long.valueOf(adjust) });
   localLong = Long.valueOf(Long.parseLong(localMap.get("bound").toString()));
   localInteger = Integer.valueOf(Integer.parseInt(localMap.get("incremental").toString()));
   nextId = localLong.longValue();
   lastId = localLong.longValue() + localInteger.intValue();
   jdbcTemplate.update(str2, new Object[] { Long.valueOf(lastId), Long.valueOf(adjust) });
  }
  catch (EmptyResultDataAccessException localEmptyResultDataAccessException)
  {
   insertNewComputer();
  }
 }
 
 private static void insertNewComputer()
 {
  try
  {
   lastId = 10000L;
   String str = "INSERT INTO SYS_DB_ID (id,incremental,bound) VALUES(" + adjust + ",10000," + lastId + ")";
   jdbcTemplate.update(str);
  }
  catch (Exception localException)
  {
   localException.printStackTrace();
  }
 }
 
 public static synchronized long genId()
 {
  if (lastId <= nextId) {
   getNextIdBlock();
  }
  long l = nextId++;
  return l + adjust * 10000000000000L;
 }
 
 public static final String getGuid()
 {
  UUID localUUID = UUID.randomUUID();
  return localUUID.toString();
 }
 
 public static final String getRandom()
 {
  Random localRandom = new Random();
  String str1 = "";
  for (int i = 0; i < randomLeng; i++)
  {
   String str2 = String.valueOf(localRandom.nextInt(10));
   str1 = str1 + str2;
  }
  return str1;
 }
 
 public static String genOrderNo()
 {
  long l = genId();
  String str = dateFormat.format(new Date());
  return str + l;
 }
 
 public static void main(String[] paramArrayOfString)
  throws Exception
 {}
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java深度優(yōu)先遍歷解決排列組合問題詳解

    Java深度優(yōu)先遍歷解決排列組合問題詳解

    這篇文章主要介紹了Java深度優(yōu)先遍歷解決排列組合問題詳解,深度優(yōu)先搜索是遞歸過程,帶有回退操作,因此需要使用棧存儲訪問的路徑信息,當訪問到的當前頂點沒有可以前進的鄰接頂點時,需要進行出棧操作,將當前位置回退至出棧元素位置,需要的朋友可以參考下
    2024-01-01
  • MAVEN的安裝配置與IDEA整合超詳細教程

    MAVEN的安裝配置與IDEA整合超詳細教程

    這篇文章給大家介紹了MAVEN的安裝,配置與IDEA整合方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,感興趣的朋友跟隨小編一起看看吧
    2021-02-02
  • 詳解Java并發(fā)編程基礎之volatile

    詳解Java并發(fā)編程基礎之volatile

    volatile作為Java多線程中輕量級的同步措施,保證了多線程環(huán)境中“共享變量”的可見性。這里的可見性簡單而言可以理解為當一個線程修改了一個共享變量的時候,另外的線程能夠讀到這個修改的值。本文將詳解介紹Java并發(fā)編程基礎之volatile
    2021-06-06
  • Java多線程實現(xiàn)之Callable詳解

    Java多線程實現(xiàn)之Callable詳解

    這篇文章主要介紹了Java多線程實現(xiàn)之Callable詳解,Callable是一個接口,用于實現(xiàn)多線程,與實現(xiàn)Runnable類似,但是功能更強大,通過實現(xiàn)Callable接口,我們需要重寫call()方法,該方法可以在任務結束后提供一個返回值,需要的朋友可以參考下
    2023-08-08
  • 在service層注入mapper時報空指針的解決

    在service層注入mapper時報空指針的解決

    這篇文章主要介紹了在service層注入mapper時報空指針的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • SpringBoot整合kafka遇到的版本不對應問題及解決

    SpringBoot整合kafka遇到的版本不對應問題及解決

    這篇文章主要介紹了SpringBoot整合kafka遇到的版本不對應問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot中的內(nèi)容協(xié)商器圖解

    SpringBoot中的內(nèi)容協(xié)商器圖解

    本文通過圖文解說加代碼的形式給大家介紹了SpringBoot中的內(nèi)容協(xié)商器知識,需要的朋友參考下吧
    2017-11-11
  • springboot中報錯Invalid character found in the request的解決

    springboot中報錯Invalid character found in 

    這篇文章主要介紹了springboot中報錯Invalid character found in the request的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值

    基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值

    這篇文章主要介紹了基于@PostConstruct注解的使用,解決向靜態(tài)變量注入值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • idea啟動與jar包啟動中使用resource資源文件路徑的問題

    idea啟動與jar包啟動中使用resource資源文件路徑的問題

    這篇文章主要介紹了idea啟動與jar包啟動中使用resource資源文件路徑的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論