JDBC获取记录的数据库唯一ID

时间:2013-12-16 12:03:40

标签: java jdbc

我想知道是否有任何方法可以通过JDBC获取记录的数据库标识符。

例如,我正在查询数据库并返回ResultSet,我将其存储在Map中。我根据从ResultSet中检索它们的顺序给每条记录一个Id。

现在我想重新查询数据库,并能够将新的ResultSet与我现有的记录相关联。因此,如果记录被删除,理想情况下,我可以使用唯一标识符将其从Map中删除。

我的问题是我无法找到来自RDBMS本身的唯一标识符。我尝试使用ResultSet.getRowId(),但并非所有JDBC驱动程序提供程序都实现此方法。

有没有什么方法可以从ResultSet中获取一个标识符来识别数据库中的记录?

感谢。

2 个答案:

答案 0 :(得分:2)

理想情况下,数据库中的每个记录都应具有标识符(主键)。最好的方法是始终坚持这一点。

  

因此,如果记录被删除,理想情况下,我可以使用唯一标识符将其从Map中删除。

也许清除地图并再次映射它是一种选择。

答案 1 :(得分:1)

为什么不能使用主键识别记录?