JAVA uuid的使用

原创 2013年12月04日 09:56:27

在使用Oracle的时候,需要添加一个唯一的主键,一般使用的是36位的唯一的字符串,我们有两种方式

 

一、使用数据库自动生成的方式,自动添加唯一的ID值

 

create table t_log(
    ssid varchar2(36) default sys_guid() primary key,
    type varchar2(10),
    detail varchar2(100)
);

default sys_guid()这个函数时Oracle自带的,在插入数据的时候不用插入该字段就会自动生成

insert into t_log(type,detail)values('1','测试无主键');

 

 

二、使用JAVA自动生成的UUID,作为数据库字段的主键

 

package demo.uuid;

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

public class TestUUID {

	public static void main(String[] args) {
		String uuid = UUID.randomUUID().toString();
		System.out.println(uuid.length());
		System.out.println(uuid.replace("-", ""));
		
		int num = str2Num("10000");
		System.out.println(num);
		
		String date = transferToFormat("huangbia");
		System.out.println(date);
		
		String nowDate = getCurrentDateStr(SDF_YYYY_MM_DD_HH_MM_SS_SS);
		System.out.println(nowDate);
	}

	/**
     * 字符串转为数字,截取前面的0
     * @param str
     * @return
     */
    public static int str2Num(String str){
    	char[] array = str.toCharArray();
    	System.out.println(array);
    	System.out.println(array.length);
    	for(int i = 0; i < array.length; i++){
    		System.out.println(array[i]);
    		if(array[i] != '0'){
    			str = str.substring(i);
    			break;
    		}
    	}
    	return Integer.parseInt(str);
    }
    
    /**
	 * 将字符串转换成2010-12-21格式的
	 * @param propName
	 * @return
	 */
	public static String transferToFormat(String trDate)
	{
		StringBuffer busiDate = new StringBuffer();
		busiDate.append(trDate.substring(0, 4));
		busiDate.append("-");
		busiDate.append(trDate.substring(4, 6));
		busiDate.append("-");
		busiDate.append(trDate.substring(6, 8));
		return busiDate.toString();

	}
	
	/**
	 * SDF_YYYY_MM_DD_HH_MM_SS_SS格式
	 */
	public static final SimpleDateFormat SDF_YYYY_MM_DD_HH_MM_SS_SS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS"); 
	
	/**
	 * 获取当前日期的字符串形式
	 * @param sdf 格式化器
	 * @return
	 */
	public static String getCurrentDateStr(SimpleDateFormat sdf){
		return sdf.format(new Date());
	}
}

 

备注:上面的代码我相信大家都能看的明白,但是我这里想说明的是关于如何使用“工具类”。

 

对于定义属性(常用的变量)名称需要使用大写,使用的是static类型,这样就可以作为工具一样的去使用,例如工程的常用字符串、公共方法(跟业务没有什么关系)——例如得到系统时间,得到用户信息等等

相关文章推荐

JAVA UUID使用方法

JAVA UUID 生成 GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10...

十三、java 常用工具类使用UUid、日期处理、MD5加密

import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit...

cocos2d-x 使用JniHelper 调用 java代码 获取安卓生成的唯一标示UUID

以前写过一次,但是最近在做cocos2d-x通过jni调用java代码的东西,然后又忘了,所以写一下备注一下 cocos2d-x版本:2.2.1 代码: 头文件: #if (CC_TARGET_P...
  • wd40296
  • wd40296
  • 2013年12月05日 10:51
  • 2900

JAVA生成全局唯一ID 使用 java.util.UUID

有时我们不依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,这时就需要用程序来生成一个唯一的全局ID,然后在数据库事务中同时插入到多章表中实现同步. 在java中有...

java UUID16的生成下载

  • 2017年11月16日 21:22
  • 3KB
  • 下载

生成hibernate的UUID类.java

  • 2009年04月04日 16:08
  • 2KB
  • 下载

java uuid生成方法

http://wyl232.iteye.com/blog/344066 UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成...

java uuid

  • 2008年05月16日 17:53
  • 36KB
  • 下载

java-uuid-generator-3.1.3.ja

  • 2014年04月10日 14:58
  • 38KB
  • 下载

Java中的UUID类(生成唯一ID)

1.UUID 简介      UUID含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Softwa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA uuid的使用
举报原因:
原因补充:

(最多只允许输入30个字)