日期:2014-05-16 浏览次数:20447 次
Oracle培训(三十二)—JDBC第四章知识点总结——JDBC高级特性2--事务,并发控制,行集
知识点预览
事务
并发控制
Row set(行集)
JDBC异常与警告
事务
1. 事务—银行转账问题
a) 张三将1000元钱转到李四的账号,程序处理需要的步骤:
1、张三的账号减掉1000元;
2、李四的账号增加1000元;
3、转账过程记录;
只有三个步骤全部正确完成转账才算成功。
b) 但是程序在实际运行时,执行完步骤1后,程序出现错误导致步骤2和步骤3无法顺利执行:
张三的钱少了1000元;
李四的钱没变;
1000元去了哪里?
2. 事务
a) 数据库:默认情下,JDBC的每个数据操作SQL语句都是自动提交,每个语句分开单独执行
b) 银行转账问题:需要多次数据操作才能完成
c) 可能产生的问题
需要多次数据操作才能完成的业务无法完成,数据不一致
d) 解决办法
银行转账问题:将完成转账功能的所有数据操作放在一起作为一个整体执行,要么全部都执行成功,要么全部恢复
e) 事务是指一个工作单元,它包含了一组添加,删除,修改等数据操作命令,这组命令作为一个整体向系统提交执行,要么都执行成功,要么全部恢复
f) 在JDBC中使用事务
con.setAutoCommit(false),取消自动提交
对数据库执行一个或多个操作(一个或多个SQL语句)
con.commit(),提交事务(上面的第二部的多个操作就作为一个整体提交执行)
如果某个