2014-03-21 回答
读“脏”数据是指事务t1修改某一数据,并将其写回磁盘,事务t2读取同一数据后,t1由于某种原因被除撤消,而此时t1把已修改过的数据又恢复原值,t2读到的数据与数据库的数据不一致,则t2读到的数据就为“脏”数据,即不正确的数据。
脏数据在比较复杂的交互式系统中,非常常见。
1、用java处理数据库事务的准备
要有一个能够访问数据库的应用。下面的示例都基于oracle进行。
create table ffm_account(
id int primary key ,
name varchar(32),
money int
);
测试数据:
insert into ffm_account(id,name,money)values(1,'a',1000);
insert into ffm_account(id,name,money)values(2,'b',1000);
2、jdbc中使用事务
当jdbc程序向数据库获得一个connection对象时,默认情况下这个connection对象会自动向数据库提交在它上面发送的sql语句。若想关闭这种默认提交方式,让多条sql在一个事务中执行,可使用下列的jdbc控制事务语句
connection.setautocommit(false);//开启事务(start transaction)
connection.rollback();//回滚事务(rollback)
connection.commit();//提交事务(commit)
3、jdbc使用事务范例之脏数据 以及读取脏数据的源代码
在jdbc