Spring 事务管理(一)事务原则和事务类型

事务是正确执行一系列操作或动作,使得数据库从一种状态转换成另一种状态,且保证操作全部成功或者全部失败。
事务原则:事务必须服从ISO/IEC所制定的ACID原则
ACID原则的具体内涵如下:
原子性(Atomicity):即不可分割性,事务要么全部被执行,要么全部不被执行
一致性(Consistency):事务的执行使得数据库从一种正确状态转换成另一种正确状态
隔离性(Isolation):在事务正确提交之前,它可能的结果不应显示给任何其他事务
持久性(Durability):事务正确提交后,其结果将永久保存在数据库中

Java事务
Java事务的产生:程序操作数据库的需要,以Java编写的程序或系统,实现ACID的操作
Java事务实现:

  • 通过JDBC相应方法间接来实现对数据库的增,删,改,查,把事务转移到Java程序代码中进行控制
  • 确保事务要么全部执行成功,要么撤销不执行
    Java事务机制和原理就是操作确保数据库操作的ACID特性。

Java事务类型:

  • JDBC事务:用Connection对象控制的自动模式和手动模式;
  • JTA(Java Transaction API)事务:与实现无关的,与协议无关的API;
  • 容器事务:应用服务器提供的,且大多数是基于JTA完成(通常基于JNDI的,相当复杂的API实现)。

Java三种事务类型的差别:

  • JDBC事务:控制的局限性在于一个数据库连接内,但是其使用简单。
  • JTA事务:功能强大,可跨越多个数据库或多个DAO,使用比较复杂。
  • 容器事务:主要指的是J2EE应用服务器提供的事务管理,局限于EJB应用使用。

猜你喜欢

转载自blog.csdn.net/Ally441/article/details/88703063