JDBC事务和JTA事务的区别 --包含spring事务 声明式事务
一、事务概述 事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做。 与事务相关的操作主要有: BEGIN TRANSACTION; 开始一个事务,方法是:begin() COMMIT; 提交一个事务,方法是:commit() ROLLBACK; 回滚一个事务,方法是:rollback() PREPARE; 准备提交一个事务,方法是:prepare() 二、事务的特性(ACID) 1、原子性:同一个事务的操作要么全部成功执行,要么全部撤消 2、隔离性:事务的所有操作不会被其它事务干扰 3、一致性:在操作过程中不会破坏数据的完整性 4、时效性 :事务的结果必须持久保存于介质上 三、事务处理方式 在JDBC连接中,使用命令声明事务的开始、提交和取消。如前一章介绍的数据库处理方式,它通过java.sql.Connection接口实现,可以启用AutoCommit。这种方式使用简单,但性能较低。 利用JavaEE规范的JTA驱动程序。这种方式性能更好,是EJB和JMS的常用方式。 Java EE 的分布式事务服务包括5个层次:事务管理器、应用服务器、资源管理器、应用程序、通信资源管理器。 事务管理器:完成事务管理 应用服务器:为应用提供服务 资源管理器:连接相应的资源 应 用程 序:需要使用事务的应用 通信资源管理器