SQL PreparedStatement和自动提交

Ali*_*liM 3 jdbc prepared-statement autocommit

如果我使用具有“自动提交关闭”功能的JDBC连接创建了preparestatement,是否需要调用commit()来使事务永久生效,或者仅prepare调用就足够了?请注意,我只想准备一条语句并将其保留以供以后执行。

非常感谢!

a_h*_*ame 7

答案是:是的,您必须调用commit。

“准备”步骤不执行与服务器上的事务处理相关的任何操作。

您必须调用executeUpdate()(或execute())启动事务(假设使用的SQL实际上确实启动了事务)

使用不自动提交的PreparedStatement需要执行以下步骤:

  1. 准备陈述
  2. 设置参数值
  3. 调用executeUpdate()(或execute()取决于语句的类型)
  4. 呼叫 Connection.commit()

为了让事情更清晰:调用prepareStatement()没有要求commit()