码迷,mamicode.com
首页 > 编程语言 > 详细

spring的事务管理

时间:2018-05-05 21:46:17      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:原则   基本   持久性   enter   指令   集中   ict   获取   处理   

spring的事务管理

什么是事务?

就是对数据库一系列操作的集合。

事务必须符合以下基本原则:

1.atomictiy:原子性,这些数据库操作要么全部成功执行,要不然全部不执行,如果其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回滚到之前的操作

2.consistency:一致性,事务的执行使得数据从一个状态转换为另一个状态,但对于整个数据的完整性保持一致

3.isolation:隔离性,在一个事务执行过程中,无论对数据有什么改变,对外部不存在影响,只有在事务正确提交之后,才能改变数据,其他的事务才能获取这种改变

4. durability:持久性,一旦事务成功提交,对数据的改变是持久性的


如果不使用事务,并发处理数据可能出现以下错误:

1. 丢失更新:一个事务进行了回滚,然后另一个事务受到影响,也进行了回滚:原有话费100,冲了100元话费的同时,联通扣了5块钱,又不想充了,撤回了操作,-5操作也被撤回了,账户里面还有100元

2.脏读:一个事务读取到另一个事务没有提交的数据。账户里面有100元,甲买10元的饮料,同时乙正在买95元的书,甲会发现余额不足,同时乙发现也是余额不足。

3. 幻读:一个事务执行两次查询,第二次结果集中出现了第一次没有的数据

 

spring的事务管理

标签:原则   基本   持久性   enter   指令   集中   ict   获取   处理   

原文地址:https://www.cnblogs.com/zhangchiblog/p/8996203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!