1 MySQL的autocommit设置MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交。如果修改为关闭状态,则执行DML语句之后要手动提交 才能生效。MySQL5.7 在cnf配置文件中[mysqld]下面设置autocommit的值。Spring中对自动提交的控制MySQL的JDBC驱动包 mysql-connector-java 会给会话的connection默认开启自动提交,譬如 mysql-connector-java-8.0.22版本的代码:常用的数据库连接池 如HikariCP,druid等,默认也是开启自动提交,会将connection的自动提交设置都改为true。HikariCP 初始化DataSource的默认配置 中autocommit也是true:对于事务管理器PlatformTransactionManager管理的显式事务在 开启事务时会关闭自动提交模式。一般的jdbc 连接池默认都是开启状态,而且是可配置的。显式事务下会设置成关闭状态,单纯的修改数据库环境的autocommit不会对代码的行为产生影响。
暂无评论