我想知道是否有任何方法可以通过JDBC获取记录的数据库标识符。
例如,我正在查询数据库并返回ResultSet
,我将其存储在Map
中。我根据从ResultSet中检索它们的顺序给每条记录一个Id。
现在我想重新查询数据库,并能够将新的ResultSet
与我现有的记录相关联。因此,如果记录被删除,理想情况下,我可以使用唯一标识符将其从Map
中删除。
我的问题是我无法找到来自RDBMS本身的唯一标识符。我尝试使用ResultSet.getRowId()
,但并非所有JDBC驱动程序提供程序都实现此方法。
有没有什么方法可以从ResultSet中获取一个标识符来识别数据库中的记录?
感谢。
答案 0 :(得分:2)
理想情况下,数据库中的每个记录都应具有标识符(主键)。最好的方法是始终坚持这一点。
因此,如果记录被删除,理想情况下,我可以使用唯一标识符将其从Map中删除。
也许清除地图并再次映射它是一种选择。
答案 1 :(得分:1)
为什么不能使用主键识别记录?