Bootstrap

Spring事务管理

在并发情况下的事务可能会产生的问题(重要)

① 脏读:所谓脏读,就是指事务A读到了事务B还没有提交的数据,比如银行    取钱,事务A开启事务,此时切换到事务B,事务B开启事务-->取走    100元,此时切换回事务A,事务A读取的肯定是数据库里面的原始    数据,因为事务B取走了100块钱;并没有提交,数据库里面的账务    余额肯定还是原始余额,这就是脏读

② 不可重复读:是指在一个事务里面读取了两次某个数据,读出来的数据不一致。 还是以银行取钱为例,事务A开启事务-->查出银行卡余额为1000 元,此时切换到事务B,事务B开启事务-->事务B取走了100元 -->提交,数据库里面余额变为900元,此时切换回事务A,事务 A再查一次账户余额为900元,这样对事务A而言,在同一个事 务内两次读取账户余额数据不一致,这就是不可重复读

③ 幻读:是指在一个事务里面的操作中发现了未被操作的数据。比如学生信息,    事务A开启了事务-->修改所有学生当天签到状况为false,此时切换    到事务B,事务B开启了事务-->事务B插入了一条学生数据,此时切    换回事务A,事务A提交的时候发现了一条自己没有修改过的数据,    这就是幻读,就好像发生了幻觉一样,幻读出现的前提是并发的事务中    有事务发生了插入、删除操作


;