MyBatis——事务管理

MyBatis的事务管理
    事务就是一系列的关联操作,例如:转账操作,对应修改两个账户的余额,要么同时修改转账成功,要么同时取消转账失败,不能只改一个账户,那将破坏数据库的完整性。事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃。
    事务一般具有4个特性:
        原子性:事务是应用中最小的执行单位,具有不可再分的特征。
        一致性:事务执行的结果,必须使数据库从一种一致状态到另一种一致状态,在交易时,数据库应保持一致性状态。
        隔离性:各个事务的执行互不干扰
        持续性:持续性也叫持久性,指事务一旦提交,对数据库的任何改变都要记录到永久存储器中,通常就是保存到物理数据库。
    Transaction接口
      通过org.apache.ibatis.transaction.Transaction接口以及接口的实现类:org.apache.ibatis.transaction.jdbc.JdbcTransaction和org.apache.ibatis.transaction.managed.ManagedTransaction来操作事务。
      通过org.apache.ibatis.transaction.TransactionFactory接口以及接口实现类:org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory和org.apache.ibatis.transaction.managed.ManagedTransactionFactory来获取事务实例对象。
    MyBatis事务管理形式
      使用JDBC的事务管理机制。即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等操作。
      使用MANAGED的事务管理机制。MyBatis自身不会去实现事务管理,而是让容器如WebLogic、JBOSS等实现对事物的管理。
 

posted @ 2019-04-11 10:25  !O0O!  阅读(650)  评论(0)    收藏  举报