使用Java在DB中插入或更新数据(在我的情况下是Oracle DB),最好使用:
ResultSet.insertRow()
,ResultSet.updateRow()
或Statement.executeUpdate(....)
我大部分时间都使用rs.insertRow()
和rs.updateRow()
,这样就避免了编写查询的需要,但这在性能方面是否合理?
答案 0 :(得分:1)
我从不对ResultSet
做任何事情,除非遍历它,将其映射到对象或数据结构中,然后关闭它。如果我想要INSERT,我会使用PreparedStatement
。我的ResultSets
永远不会长时间被修改。我更喜欢保持持久性操作,所以我可以尽快关闭连接。我认为这种方法可以更好地扩展,因为多个用户更容易以这种方式共享池化连接。
答案 1 :(得分:0)
我认为部分原因是结果集有多大。如果你循环遍历300万条记录,我会使用rs.updateRow()而不是执行300万次查询。