在String中生成唯一的Employee代码

时间:2018-02-20 09:07:23

标签: java mysql unique-key

我正在用Java实现员工管理系统。我希望员工代码在新员工注册时自动生成,我应该采用预定义的格式。我不想使用自动递增的整数键作为员工ID。我正在使用MySQL数据库和JDBC API连接到MySQL。请给我一个解决方案。

2 个答案:

答案 0 :(得分:0)

如果ID的长度无关紧要,只需使用java.util.UUID生成通用唯一标识符。

答案 1 :(得分:0)

可以有很多方法来生成员工ID。我建议使用最常用的方法。

1)基于时间戳的: - 使用java.util.UUID中的UUID根据主机和当前时间生成随机ID。

UUID uuid = UUID.randomUUID(); 

2)基于自定义信息

如果您希望使用公司名称/员工的个人信息生成employeeId,

  • 使用员工的用户名和出生日期
  • 获取命名空间标识符(可以是您组织的名称)

    使用唯一标识符和员工用户名的哈希值

    String source = namespace + username + dateofbirth;
    byte[] bytes = source.getBytes("UTF-8");
    UUID uuid = UUID.nameUUIDFromBytes(bytes);
    

3)使用公司缩写:    假设您的公司名称是XYZ。使用随机数生成器函数生成任意5或6位数字。   例如。 XYZ47899