transactionManager提供了两个实现类,但是这两个实现类必须实现Transaction这个接口
Transaction中包含了三个重要的方法:commit(提交)、rollback(回滚),close(关闭)
1 | public interfance Transaction{ |
Mybatis 为Transaction 提供了两个实现类:jdbcTransaction 和** ManagedTransaction**
配置分别是如下:
1 | <transactionManager type="JDBC"> |
JdbcTransaction:顾名思义使用JdbcTransaction生成的JdbcTransaction对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等;
ManagedTransaction:MyBatis自身不会去实现事务管理,而是让程序的容器来实现对事务的管理。把事务交给容器处理。默认情况下他会关闭链接,但有些情况下有一些容器不想关闭,这是就需要将closeConnection属性设置成false来阻止他默认关闭;