找出哪一行已更新/删除JDBC(ResultSet)

时间:2012-01-19 14:35:47

标签: java mysql database jdbc resultset

我正在编写一个应用程序,需要保留一些关于底层MySQL服务器行的元数据(它通过JDBC驱动程序与MySQL服务器通信)。

实际上,每个客户端都有一个唯一的ID,我的Java应用程序需要为每一行存储修改该行的最后一个客户端的uuid。

到目前为止,当插入一行时,我在其主键引用的元数据表中为它分配一个插槽。

我能想到这样做的唯一方法是在表上进行选择(与更新/删除的条件相同),但这意味着对于给定的查询,我实际上将工作加倍。有没有更好的想法,或者有JDBC方法可以做到这一点?

由于

1 个答案:

答案 0 :(得分:2)

有两种方法可以从Java更新SQL中的数据:

  1. 保持Java中的所有逻辑,这样可以使表格简单,所有逻辑都在代码中
  2. 在MySQL中编写存储过程,以便在发生更改时对其他表执行更新。如果您遵循这条路线,那么Java代码很简单,但SQL上的逻辑很复杂
  3. 你不应该做的是拆分差异并在Java中使用一些逻辑,在SQL中使用一些逻辑。我建议坚持使用您的方法,因为在SQL中修改和调试存储过程代码比在Java中更难。

    PS我已经做到了这两点,保持Java中的逻辑更容易维护。