数据库事务
事务4大属性:
数据库事务包含ACID,就是
1:原子性(Atomicity):事务是一个完整的操作,要么一起成功,要么一起失败.
2:一致性(Consistency):当事务完成时,数据必须处于一致状态。
3:隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的。
4:持久性(Durability):事务完成后,它对于系统的影响是永久性的。
创建事务
1:开始事务: begin transaction
2:提交事务:commit transaction
3:回滚事务: rollback transaction
数据库事务的传播特性(常用的为1,2)
1:PROPAGATION_REQUIRED:如果有事务,就使用当前的事务,如果没有事务,就创建一个新的事务执行。
2:PROPAGATION_REQUIRES_NEW:如果有事务,就将当前的事务挂起,创建一个新的事务执行
3:PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行
4:PROPAGATION_MANDATORY:如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。
5:PROPAGATION_NOT_SUPPORTED:已非事务方式执行,如果有事务就挂起。
PROPAGATION_NEVER:总是非事务地执行,如果存在一个活动事务,则抛出异常