java事务 (面试知识储备)

来源:互联网 发布:github for mac中文版 编辑:程序博客网 时间:2024/04/26 15:46

事务的概念:

事务的概念源于数据库,  数据库中事务就是一组原子性操作,在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事务不能跨越多个数据库.


暂时到这剩下的较复杂以后再补充.

我要看原文






原创粉丝点击