gpt4 book ai didi

java - JDBC 在应用程序级别自动提交为 false

转载 作者:行者123 更新时间:2023-12-01 09:16:13 28 4
gpt4 key购买 nike

当大多数最佳编程方法建议将 JDBC 自动提交设置为 false 时,将默认值设置为 true 的 JDBC API 设计背后的合理性是什么?

最佳答案

将默认值设置为 true 的 JDBC API 设计背后的合理性是什么?

仅当您处理多个INSERT/UPDATE sql查询(通过JDBC处理)时,您才可以通过设置connection.setAutoCommit(false)来控制事务)在数据库表内/跨数据库表作为原子操作,只有中型/复杂规模的应用程序才需要。

现在,如果所有事务都必须显式处理(即,正如您所建议的,如果默认情况下 connection.setAutoCommit(false) ),那么开发人员即使对于单个 INSERT/UPDATE sql 查询(通过 JDBC 处理),确保已正确处理 commit() 和 rollback(),否则 连接将挂起,并且很难调试。

If auto-commit mode has been disabled, the method commit must be called explicitly in order to commit changes; otherwise, database changes will not be saved.

你可以看看here

按照您的方法,即为每笔交易显式调用 commit 是不必要的,如果我们忽略一次,那就弊大于利。

关于java - JDBC 在应用程序级别自动提交为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529288/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com