数据库及ADO.NET------招聘题:事务是什么?JDBC如何控制事务?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:48   1347   0
招聘题:事务是什么?JDBC如何控制事务?

通俗的说,事务(Transaction)就是对数据执行的一组操作,
这些操作钭数据从一种状态更改为另一种状态,他们必须为一个
单元运行。
事务最主要的功能就是确保多个连续的操作必须全部执行成功,
否则回复到未执行任何数据操作的最初状态。也就是说事务 的
结果只有两种状况;事务完成(Transaction commit)
事务失败(Transaction abort)
当事务失败或异常中断时,事务就会回滚(Transacton roolback),
回复至数据的初始状态。

start

A,B账户存在,
A要转账1000元

A账户扣除1000元

B账户增加1000元

end


start

setAutoCommit(false)

Insert,delete,update
data on database ---------------------->rollback
SQL Exception
commit ------------------------->rollback
SQL Exception
end

Auto Commit 设置为false.JDBC中,事务操作默认是自动提交,也就是说
一条数据操作就是一项事务,操作成功则commit,失败则rollback

可以将多个数据库操作作为一个事务,操作完成后手动调用commit
方法来进行整体提交;倘若其中一个操作打败,则都不会执行
到commit(),且将产生异常,此时就可以在异常捕获时调用
rollback()进行回滚。这样就保证了多个数据操作的原子性。

与事务处理相关的方法都在Connection类中:
void setAutoCommit(boolean auto Commit)
boolean getAutoCommit()
void commit()
void rollback()


招聘题:
执行两个数据操作,先修改库中某条纪录,然后插入一条纪录,
插入的记录违反了数据库规则,例如主键重复,演示事务处理功能。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP