setAutoCommit(false)无效,不是引擎问题

图片说明

上图40行关闭了自动提交(未生效)

图片说明

上图105行开启了提交(此行报错,进入SQLException)

图片说明

报错信息如下

java.sql.SQLException: Can't call commit when autocommit=true

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:869)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:865)
。。。。。


引用的DBUtil.getConnection()如下
图片说明

补充一句,数据都已成功插入
也就是说setAutoCommit(false)确实无效

看到你的调用本来不想回答的;

首先设置的autocommit是会话(session)级别的,所以,每次只能在自己连接的会话内生效;

看看你的调用:设置autocommit是一个会话,执行插入式另外一个会话,回滚又是一个会话....

深感无力...

https://blog.csdn.net/evangel_z/article/details/7592761