【发布时间】:2012-02-22 01:03:11
【问题描述】:
我需要为我的应用程序生成唯一 ID。当我使用(UUID.randomUUID()).toString() 时,我得到一个代码(认为这将是唯一的),这很长。
当我们在 Java Timestamp 或 randomstring 的帮助下生成代码时,我不确定它会有多独特。
我需要生成只有 8-10 个字符长度(字母数字)的唯一代码。怎么会这样? 我正在使用 MySQL 数据库。
在数据库端生成唯一代码是最好的方法还是我们可以在 Java 中生成如此短(但唯一)的代码?
任何带有示例代码的建议都会非常有帮助。
【问题讨论】:
-
您想创建自己的方法来使用时间戳生成唯一 id 吗?
-
在将记录存入数据库时,您可以获取一个唯一的数字,然后每次加一。
-
@Sathish :为什么不根据您想要的长度获取 substring() 并继续检查新的是否等于任何先前分配的。 UUID 是最好的方法 :-) 问候
-
@Hemant Metalia:我不介意创建一种新方法来按时间戳生成代码,但我的问题是,它是否会是唯一的?
-
@Gagandeep Bali:我觉得 substring() 并检查以前的值(会有很多 id)需要很长时间..会导致性能问题!!!
标签: java mysql database uniqueidentifier