Java事务的基本特性

上传人:夏** 文档编号:560374071 上传时间:2023-05-11 格式:DOC 页数:2 大小:25KB
返回 下载 相关 举报
Java事务的基本特性_第1页
第1页 / 共2页
Java事务的基本特性_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java事务的基本特性》由会员分享,可在线阅读,更多相关《Java事务的基本特性(2页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! JDBC事务机制2011-03-23 18:00:06|分类:JDK|字号订阅事务:由一个或多个执行、完成的语句组成,以组的形式提交或回滚。当前事务结束,另一个事务开始。在JDBC中,事务默认是自动提交的,即每执行一条语句,就是一个事务。事务特性:ACID特征,Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)。 原子性:指整个事务是不可以分割的工作单元。只有事务中所有的操作执行成,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库

2、状态应该回到执行事务前的状态。 一致性:指数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性。例如对于银行转账事务,不管事务成功还是失败,应该保证事务结束后两个转账账户的存款总额是与转账前一致的。 隔离性:指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。 持久性:指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。事务各个特征的实现手段: 原子性:日志 一致性:日志 隔离性:锁机制 持久性:日志事务隔离级别(5级): 0:TRANSACTION_NONE 1:T

3、RANSACTION_READ_UNCOMMITTED 2:TRANSACTION_READ_COMMITTED 防止脏读 4:TRANSACTION_REPEATABLE_READ防止不可重复读 8:TRANSACTION_SERIALIZABLE防止 幻影读Oracle支持2种:2和8,默认为2.并发环境中的几种情况: 脏读:一个事务在提交前可以看到另一个事务的行为,则出现脏读。一个事务读到了其它事务没有提交的数据; 不可重复读:一个事务通过SQL读取数据后,有其它事务立刻作了DML操作,并且提交了,然后第一个事务通过相同的SQL语句再次读取,所得的数据和第一次读取的数据不一致的情况。要点

4、:同一个事务,同一语句,在多次读取过程中,所得到的结果不一致的情况。如何防止:在执行SELECT语句时加上for update子句 幻(影)读:基本理解同不可重复读。区别:不可重复读:指某些列的值的不同,幻影读:指表的总记录数量上的不同。如何防止:锁表,代价很高。使用如下方法控制连接的独立性等级:conn.setTransactionIsolation(Connection.TRANSACTION_XXX);事务的开始与结束:首先,因为默认的JDBC事务是自动提交的,故我们在获取数据库连接后,应该将连接改为非自动提交模式:conn.setAutoCommit(false); /标志着新事务的开

5、始mit(); /提交conn.rollback(); /回滚在JDBC 3.0新增功能中,提供对事务commit和rollback的更好支持,在事务过程中,在两个操作间可以插入一个命名的存储点作为标记,因此可以将事务回滚到那个标记,保留标记有效前的所有操作。示例:conn.setAutoCommit(false);Statement stmt = conn.createStatement();stmt.executeUpdate(update1);Savepoint point1 = conn.setSavepoint(point1);stmt.executeUpdate(update2);stmt.executeUpdate(update3);conn.rollback(point1);mit(); /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号