事务的概念:
事务的概念源于数据库, 数据库中事务就是一组原子性操作,在java中就是一组sql语句 , 如果一组原子性操作(一组sql语句)其中有一个出错 ,之前执行的数据全部失效 . 简单理解:全部执行与全部不执行.
事务的特点:
事务遵守ISO和IEC指定的ACDI原则: 原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性 (durability).
原子性(atomicity):事务执行过程中如果出错 之前执行的修改将全部失效.
一致性(consistency):事务执行失败时 所有被事务影响的数据都恢复到 事务执行之前的状态.
隔离性(isolation):事务执行过程中对数据的修改. 该事务提交之前对其他事务是不可见的.
持久性(durability):事务的提交后对数据库的影响是永久的.
事务的作用:
假如: A 转账给 B 当A转账1000 需要先修改数据库中A 的数据 -1000 A数据修改后 这个时候出错了 那么事务就起到作用了 修改后的A数据将回滚, 保证了业务的正确 .
java事务的类型:
一共三种:Jdbc(Java DataBase Connectivity)事务;JTA(Java Transaction API)事务;容器事务;
Jdbc事务: jdbc事务是用Connection对象控制的. jdbc Connection (java.sql.connection) 接口提供了两种事务模式:自动提交和手动提交. java.sql.connection 提供了以下方法控制事务:
public void setAutoCommit(boolean);
public boolean getAutoCommit();
public void commit();
public void rollback();
使用jdbc 事务界定时 , 可以将多个sql语句结合到一个事务中. jdbc 事务的一个缺点是事务的范围局限于一个数据库连接,一个jdbc事务不能跨越多个数据库.
暂时到这剩下的较复杂以后再补充.