唯一字段的自动编号[关闭]

Posted

技术标签:

【中文标题】唯一字段的自动编号[关闭]【英文标题】:Auto number of unique field [closed] 【发布时间】:2014-01-15 18:07:55 【问题描述】:

你知道如何在java中生成自动编号吗?我需要将它用于访客 ID。每次我添加一个新客人时,每个客人都有一个唯一的 ID。非常感谢您的帮助

非常感谢

【问题讨论】:

只增加一个计数器。 【参考方案1】:

计数器

您可以增加您的 ID 并将其视为计数器

Beginner Java Counter Code

UUID

您还可以使用UUID.randomUUID() 生成唯一的字符串

用于检索类型 4(伪随机生成)UUID 的静态工厂。 UUID 是使用强加密伪随机数生成器生成的。

UUID 编号是唯一的,并在 RFC 4122 中进行了描述

使用示例

String id = UUID.randomUUID().toString()

JPA

对于 JPA 实体,只需使用 @GeneratedValue

@Entity
public class MyEntity 
    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    long id;


JPA primary key auto generate

【讨论】:

【参考方案2】:

导入 java.util.UUID;

公共类 GenerateUUID

public static final void main(String... aArgs)
//generate random UUIDs
    UUID idOne = UUID.randomUUID();
    UUID idTwo = UUID.randomUUID();
    log("UUID One: " + idOne);
    log("UUID Two: " + idTwo);


private static void log(Object aObject)
    System.out.println( String.valueOf(aObject) );

取自:http://www.javapractices.com/topic/TopicAction.do?Id=56

【讨论】:

这与我的回答有什么不同吗? :) 是我的第一篇文章:P 正忙于弄清楚格式和所有这些,但还是没弄好!到那时你已经发布了嘿 好的,我赞成你的回答,干得好:)【参考方案3】:
public class AutoNumber 
    private int counter = 0;
    public int getNumber() 
        int tmp = counter;
        counter++;
        return tmp;
    

【讨论】:

以上是关于唯一字段的自动编号[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

access数据库怎么设置自动编号从1开始?

如何使用 VBA 在 ms 访问表单中创建自定义自动编号? [关闭]

sqlserver 2000 设置字段为自动编号问题

mysql 在插入数据时,怎么样做到自动生成16位唯一的ID?

如何为mysql中的数据记录添加一个唯一的编号,在查询的时候可以根据这个编号对这条记录进行操作。

Oracle APEX,自动编号不起作用?