java - connection.setAutoCommit = false 会发生什么

标签 java jdbc connection autocommit

如果我执行 connection.setAutoCommit(false); 会发生什么,它会在数据库端创建一个新事务吗?

最佳答案

根据documentation , connection.setAutoCommit(false) 将允许您在同一事务下分组多个后续Statement。此事务将在 connection.commit() 被调用时提交,而不是在每次 execute() 调用单个 Statement 之后(这如果启用了自动提交,就会发生这种情况)。

通过 connection.setAutoCommit() 更改自动提交模式将隐式提交 Activity 事务并创建一个新事务。来自Javadocs :

NOTE: If this method is called during a transaction and the auto-commit mode is changed, the transaction is committed. If setAutoCommit is called and the auto-commit mode is not changed, the call is a no-op.

关于java - connection.setAutoCommit = false 会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739719/

相关文章:

java - 如何在 Eclipse 中运行单个测试包及其子包?

java - 从数据库中获取数据的java代码是什么

java - 如何避免在我的 MySQL 数据库中输入重复条目?

java - mysql jdbc应用超过用户名最大长度(16个字符)

java - 第一次从 Java 调用 MS Access 的 SQL 命令非常慢,但后续运行时速度会快得多

java - 开发和生产测试时的不同 URL

java - 无法在intellij Idea 14 CE中编译java项目

java - 什么是 java.io.EOFException,消息 : Can not read response from server. 预期读取 4 个字节,读取 0 个字节

JasperReports 中的 java.util.ConcurrentModificationException

database - Firebird 数据库 SYSDBA 连接错误