事务
1.事务简介
事务(Transaction):数据库中保证数据操作可靠的机制。常运用于交易业务。JDBC支持数据库中的事务概念,并且在JDBC中,事务默认是自动提交的。
这样就可能存在问题:某些业务逻辑必须在一个事务中完成。
假设支付宝A账号上有3000元,需要转账1000元给另一个支付宝B账号,
正确的流程是
事务必须遵循的特性介绍:ACID
原子性(Atomicity):事务必须是原子工作单元;对于同一个事务中的数据修改,要么全都执行,要么全都不执行
一致性(Consistency):事务在完成时,必须使所有的数据都保持一致状态。如数据库原来有什么样的约束,事务执行之后还需要存在这样的约束
隔离性(Isolation):由并发事务所作的修改必须与任何其它并发事务所作的修改隔离
持久性(Durability):事务完成之后,它对于系统的影响是永久性的 (持久保存到数据库文件)
事务是数据库的概念,JDBC支持事务,本质还是在数据库中实现的
2.JDBC事务API
JDBC中和事务相关API:
Connection.getAutoCommit() :获得当前事务的提交方式,默认为true
Connection.setAutoCommit():设置事务的提交属性,参数是true:自动提交;false:不自动提交
Connection.commit():提交事务
Connection.rollback():回滚事务
3