如何在发送 SQL 查询之前在 java 中创建唯一编号

How to create a unique number in java before sending an SQL query

我正在 java 中制作一个发送 SQL 查询的应用程序。用户可以建议其他人可以预订的房间。要提议房间,用户必须填写表格。 当用户填写表单并按下验证按钮时,应用程序创建一个 SQL 查询,将输入的信息插入 table proposedRoom.

然而,我 table 中的每个建议房间都有一个主键 proposedRoomId,它是一个 int。 在发送查询以在 table 中插入房间之前,我在 Java 中创建主键时遇到问题。

我尝试做的是用日期生成对应的整数,但是如果恰好两个人同时提出房间就会出错。我考虑过散列并将密钥类型更改为 String 但这看起来很复杂并且可能会降低我的应用程序性能。

您可以采取以下方法:

  1. 如果您可以将 proposedRoomId 转换为字符串,请尝试使用 UUID。
  2. 尝试结合使用 RoomID 和 UserID 来创建哈希。
  3. 尝试结合使用时间戳和 RoomID 来创建哈希。

如果您有权访问 DBMS,则可以更改 proposedRoomId 列的定义并向其添加 AUTO_INCREMENT。那你就不用担心了。

我不知道 JDBC 是如何工作的,但一定有一些方法可以得到 LAST_INSERT_ID。