使用连接池时 将设置连接的autocommit = false 仅影响此连接?
如果我关闭此连接而不设置autocommit = true 并获得一个新的连接将此连接的策略设置为autocommit = true?
答案 0 :(得分:1)
答案是:“取决于使用的连接池”。
但是,如果我是连接池,我会按照初始配置恢复自动提交状态。我认为其他连接池也会这样做。
答案 1 :(得分:0)
测试场景:
结果:当重新使用此特定连接时,仍然具有autocommit = false (其他新连接具有默认的autocommit = true)。所以,一旦我在数据库端杀死这个连接并再次调用我的代码,只有这个池才能给我一个与默认autocommit = true的新连接。
结论:它仅影响此连接,但请确保在关闭之前将其设置回autocommit = true! (这是基于实际测试而非假设)
注意:这里也提到了这个行为:http://www.coderanch.com/t/583969/JDBC/databases/Tomcat-connection-pool-auto-commit
我将JDBC与Tomcat7,Java 1.7,MySQL5.6,Connector / J 5.1一起使用。