A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© oassuperhan 高级黑马   /  2016-6-14 22:25  /  319 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Spring的事务

事务:是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败。

事务特性:
原子性:强调事务的不可分割。
一致性:事务的执行的前后数据的完整性保持一致。
隔离性:一个事务执行的过程中,不应该受到其他事务的干扰。
持久性:事务一旦结束,数据就持久DAO数据库。

如果不考虑隔离性引发安全性问题:
脏读:一个事务读到了另一个事务的未提交的数据
不可重复读:一个事务读到了另一个事务已经提交的update的数据导致多次查询的结果不一致。
虚读(幻读):一个事务读到了另一个事务已经提交的insert的数据导致多次查询结果不一致。

解决读问题:设置事务隔离级别
1、未提交读    脏读,不可重复读,虚读都有可能发生
2、已提交读    避免脏读,但是不可重复读,虚读都有可能发生
3、可重复读    避免脏读和不可重复读,到那时虚读有可能发生
4、串行化    避免以上所有读问题

Spring进行事务管理的一组API

事务定义信息:
隔离级别
传播行为:解决业务层之间的方法相互调用


Spring的事务管理的分类
1、编程式事务管理:手动编写代码完成事务的管理( 不常用)
2、声明式事务管理:通过一段配置完成事务的管理(常用)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马