mybatis的事物类别

来源:互联网 发布:低解千机变软件下载 编辑:程序博客网 时间:2024/05/21 15:44
在MyBatis中有两种事务管理器类型(也就是type="[JDBC|MANAGED]"。
1.JDBC---这个配置直接简单使用了JDBC的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。
2.MANAGED---这个配置几乎没做什么。它从来不提交或回滚一个连接。而它会让容器来管理事务的整个生命周期(比如Spring或JEE应用服务器的上下文)。默认情况下它会关闭连接。然而一些容器并不希望这样,因此如果你需要从连接中停止它,将closeConnection属性设置为false。例如:
<transactionManager type="MANAGED"> <property name="closeConnection" value="http://www.myexception.cn/xml-soap/false"/> </transactionManager> 这两种事务管理器都不需要任何属性。然而它们都是类型别名,要替换它们,你需要放置你自己的类的完全限定名或类型别名,它们引用了你对TransacFactory接口的实现类。




\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
mybatis把事务抽象到了TransactionManager中,而事务默认开启,所以我们只需要使用sqlSession.commit()和rollback()方法,因为在sqlSession中,实际上调用的是transactionManager来完成的具体的事务提交和回滚操作。
你说hibernate的beginTransaction,其实这个方法不是开启事务,因为hibernate默认事务也是开启的,但是hibernate有事务状态这个概念,beginTransaction方法仅仅是把session关联的事务置为活动状态而已,并不是真正开启一个事务。
0 0
原创粉丝点击