数据访问事务处理 in Spring+My batis3
0 事务---保证了用户的每一次操作都是可靠的,即使出现了异常的访问,也不至于破坏后台数据的完整性; Java 事务简介 事务必须符合 ISO/IEC 所定制的 ACID 原则 1) A(atomicity):原子性 在事务执行的过程中,任何的失败就将导致事务的任何修改失效, 2) C(consistency):一致性 事务回滚时,事务所执行的内容必须恢复到初始状态,即事务执行前的状态 3) I(isolation):隔离性 事务执行过程中对数据的修改,在提交之前的数据对其他事务不可见 4) D(durability):持久性 已经提交的数据在事务执行失败时,数据的状态都是正确的
事务分类: 全局事务(分布式事务): 由应用服务器来管理(如 JTA),同时可以用于多个事务性的资源; 本地事务 本地事务和资源相关,主要通过 JDBC 来实现 在实际应用中,存在一种容器管理事务,容器事务主要是由 javaEE 应用服务器提供,容器事务大多给予JTA 完成,事实上这是在容器中覆盖了 JDBC 和 JTA 事务
事务特性分析(use spring) TransactionDefinition 接口来定义事务属性
Code: public interface TransactionDefinition{ int getIsolationLevel(); int getPropagationBehavior(); int getTimeout(); boolean isReadOnly(); } 事务机制 a) 事务隔离级别 隔离级别是指若干个并发的事务之间的隔离程度
TransactionDefinition 接口中定义了五个表示隔离级别的常量: TransactionDefinition
ISOLATION_DEFAU