(12)JDBC事务控制
来源:互联网 发布:windows nt安全模式 编辑:程序博客网 时间:2024/06/05 06:23
11,09,15
今天课堂的主要内容:
今天课上老师主要讲的是JDBC的事务控制和批量处理。它的主要应用在,例如:银行的存取款,以及取款的记录(时间、金额等),当它完成修改账号和修改日志后,才是正确的。
1、 事务的概念:独立的工作单元(由一条或多条sql语句组成)。我们通过提交commit()或是回滚rollback()来结束事务的操作。关于事务操作的方法都位于接口java.sql.Connection中。
特点是:它是一个整体,所有sql语句、任务都完成时,才能执行。
2、 事务和ACID属性
(1)”ACID”是一个简称,每个事务处理必须满足ACID原则,即它的四种特性:
原子性(A)
一致性(C)
隔离性(I)
持久性(D)
ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。一个支持事务(Transaction)的数据库系统,必需要具有这四种特性,否则在事务过程(Transaction processing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求.
原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
隔离性:两个事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。
持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
3、事务处理:
select @@autocommit; //显示是不是自动提交事务的方式
set @@autocommit; //手动提交操作
strat transaction; //事务开始
update 表
->set name=’aaa’ //更新
->where id=2;
select * from 表; //显示
commit; //提交事务。后面的已经是第二个事务。
select * from 表; //查看提交后
rollback; //回滚事务,回到事务开始之前的状态
select * from 表; //回到之前的状态
start transaction; //开始事务
update 表;
->set name=’bbb’ //更新
->where id=3;
select *from 表; //查看
savepoint s1; //设置保存点
delete from 表
->id=1; //删除
rollback work to savapoint s1; //把事务回滚到保存点,回滚点之前的被保存下来。
commit; //提交
select * from 表;
4、
JDBC工具类
它的功能:
1 获得Connection
2 String转Integer
3 select tabl
4 读取任意结果
5 关连接
5、事务隔离级别:
在多线程并发访问数据库并且使用事务的时候,可能会遇到脏读、不可重复读、幻读的情况。需要设置隔离级别来避免。
(1) 脏读:独到的线程未提交的数据
(2) 不可重复读:在一个事务中读取同一个记录两次,获取数据不同
(3) 幻读:在一个事务中,读取到的记录数不同
隔离级别:
读未提交:很少用到
读已提交:可支持不出现脏读
可重复读:默认级别,根据需要进行设置
可序列化:是最高的级别,可串行化
老师上课演示了在两个控制台窗口中 演示的隔离级别的问题。
- (12)JDBC事务控制
- JDBC的事务控制
- JDBC事务控制
- JDBC的事务控制
- JDBC的事务控制
- Jdbc事务控制
- jdbc事务控制
- JDBC事务控制管理
- jdbc控制事务
- JDBC的事务控制
- JDBC事务控制管理
- JDBC 事务控制
- JDBC事务控制管理
- JDBC事务控制管理
- jdbc事务控制
- JDBC事务控制管理
- JDBC事务控制管理
- JDBC事务控制管理
- Struts2的工作机制及分析
- C++实现split函数(来自网上)
- 主页(MainPage)
- APACHE open_basedir 多目录
- 多线程应用程序和异步I/O(Multi-threaded applications and asynchronous IO)
- (12)JDBC事务控制
- 包和溢出(Packets and overflows)
- inline函数
- UML之用例图箭头方向
- php utf-8截取中文
- J2ee+Tomcat+花生壳+内网
- 同步和异步设备I/O(Synchronous and asynchronous device IO)
- 开源电子商务 OFBIZ10.04组件开发入门 OFBIZ的运行机制
- 浮点数使用之精度舍入问题