如何生成唯一ID

时间:2017-11-21 08:35:11

标签: java mysql jsp servlets

我正在开展一个项目,在该项目中,我们使用使用JSP创建的注册表来存储学生的信息。现在我想在这里每个学生应该有一个uniqueID。我怎么能这样做?

我希望ID是名字,姓氏和一些数字(字母数字ID)的组合。有没有办法做到这一点?这个ID生成可以在数据库端还是在java中完成?每次我从JSP页面存储信息时,都应该为每个条目自动生成一个ID,并且该ID也存储在DB中。

我使用mysql作为数据库。

4 个答案:

答案 0 :(得分:0)

尝试将您的学生详细信息与uuid结合使用以下是如何在java中生成uuid

public static void main(String[] args) {
    final String uuid = UUID.randomUUID().toString().replace("-", "");
    System.out.println("uuid = " + uuid);
}

答案 1 :(得分:0)

像这样使用

String date = new SimpleDateFormat("yyyMMddHHmmssSS").format(new Date());

日期变量包含唯一的日期时间值,然后使用日期添加您的名字和姓氏,如

String userId=firstName+lastName+date;

答案 2 :(得分:0)

虽然有一些方法可以包括时间戳,随机数或UUID生成,但仍有机会(尽管可以忽略不计)在高度并发的环境中获得相同的ID。我建议在独特键的某处添加数据库生成的序列号以及时间戳等其他内容,以确保始终获得唯一ID。

答案 3 :(得分:0)

当您获得输入数据时,请调用此函数

public String generateID(String f_name,String l_name) {
    String uniqueID = f_name.trim()+l_name.trim()+UUID.randomUUID().toString();
    return uniqueID;
}

并将此函数的值设置为db