0

close()即使conn.setAutoCommit()设置为 false ,驱动程序是否默认提交?

我已经检查了它的插入查询,是的。让我知道我是否错了。

4

2 回答 2

2

当 aConnection关闭时,它需要回滚或提交当前事务。IIRC,JDBC规范允许实现选择,只要它的行为一致(总是提交或总是在关闭时回滚)。所以是的,这种行为是允许的,所以它是正确的。

如果这是最好的选择是值得商榷的:你可以争辩说关闭时提交确保没有信息丢失,另一方面你没有明确提交,所以也许你不希望信息被持久化。

于 2013-08-16T07:23:15.093 回答
1

使用时,只需在关闭连接之前autocommit=false明确执行。rollback这样,除非明确提交,否则所有更新都会被还原。

于 2016-11-18T11:33:42.770 回答