栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

COMMIT或conn.setAutoCommit(true)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

COMMIT或conn.setAutoCommit(true)

除非要从使用事务切换到autoCommit的“每个语句的事务”模型,否则通常应该使用

Connection.commit()
而不是
Connection.setAutoCommit(true)
提交事务。

也就是说,

Connection.setAutoCommit(true)
在事务中调用将提交事务(如果驱动程序符合JDBC
4.1规范的10.1.1节)。但是,实际上,只有在此后才打算保留autoCommit的情况下,才应该这样做,因为在连接上启用/禁用autoCommit可能会比单纯地提交(例如,因为它需要在事务管理器之间进行切换,请执行其他检查)在连接上具有更高的开销。等)。

您还应该使用

Connection.commit()
而不是使用本机SQL命令
COMMIT
。如连接文档中所述:

注意:配置连接时,JDBC应用程序应使用适当的连接方法,例如setAutoCommit或setTransactionIsolation。如果有JDBC方法可用,则应用程序不应直接调用SQL命令来更改连接的配置。

事情是这样的命令

commit()
,并
setAutoCommit(boolean)
可以做更多的工作,在回地面,如关闭
ResultSets
和关闭或重置
Statements
。使用SQL命令
COMMIT
将绕过此操作,并可能使驱动程序/连接进入错误状态。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440439.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号