jdbc - SQL PreparedStatement 和自动提交

标签 jdbc prepared-statement autocommit

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

非常感谢!

最佳答案

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

“准备”步骤不做任何与服务器上的事务处理相关的事情。

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

使用没有自动提交的 PreparedStatement 需要以下步骤:

  • 准备声明
  • 设置参数值
  • 调用executeUpdate() (或 execute() 取决于语句的类型)
  • 调用Connection.commit()

  • 为了让事情更清楚:调用prepareStatement() 不是 需要 commit() .

    关于jdbc - SQL PreparedStatement 和自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814913/

    相关文章:

    java - 在结果集开始之前

    oracle - 如何使用 tnsname 从 Ant 连接到 Oracle 数据库?

    php - 将 MySQL 查询返回的单列值传递给 PHP 脚本

    multithreading - 跨线程共享的连接的JDBC自动提交

    java - 使用 Hibernate 和 MySQL 在运行时自动提交更改

    hadoop - 固件 Cosmos Hive 授权问题

    mysql - RxJava-Jdbc 0.5.7 : How to obtain last insert id?

    php - 在 PHP 中获取 mysqli 结果作为 json_encode() 的数组

    java - SQL 准备语句;我做对了吗?

    mysql - 如何检查ActiveRecord中的 "autocommit"值