spring对事务的支持
来源:互联网 发布:内存条哪个牌子好 知乎 编辑:程序博客网 时间:2024/05/18 07:53
Spring中的事务可分为两种:程控式事务和声明式事务。
Spring不直接管理事务,它只提供事务管理器,将对事务的管理委托给第三方持久平台。
事务管理器
第三方持久平台
Jdbc.datasource.DataSourceTransactionManager
jdbc
Orm.hibernate.HibernateTransactionManager
Hibernate2
Orm.hibernate3.HibernateTransactionManager
Hibernate3
一、程控式事务
二、声明式事务
五个基本特性:1. 传播特性(Propagation) 2. 隔离级别(Isolation) 3. 回滚机制(Rollback Rules) 4. 超时(TimeOut) 5. 只读(Read-Only)
1. Spring支持的传播特性:
传播特性 意义 PROPAGATION_MANDATORY 表示该方法一定要在一个事务中运行,没有事务就抛异常。 PROPAGATION_NESTED PROPAGATION_NEVER 表示该方法不该在一个事务中运行,若当前有事务就抛异常 PROPAGATION_NOT_SUPPORTED 表示该方法不该在一个事务中运行,若当前有事务,在该方法的运行期间,将挂起该事务 PROPAGATION_REQUIRED 必须在一个事务中运行,如果当前已经有事务,就在旧的事务中运行,否则启动一个新的事务。 PROPAGATION_REQUIRED_NEW 一个方法一个事务,没有事务,启动一个新的事务,有事务,挂起旧的事务,现启动一个新的事务。 PROPAGATION_SUPPORTS 一个方法有事务就在事务中运行,没事务就不在事务中运行
2. Spring支持的隔离级别
脏读 不可重复读 事务一:select name from test where id = 1; //张三 事务二:update test set name = ‘李四’ where id = 1; 事务一:select name from test where id = 1; //李四 第一次读是“张三”第二次读就变成“李四”了。 幻读 事务一:update test set name = ‘张三’;//把所有人的姓名都变成张三 事务二:insert into test values(100,’李四’); 事务一:select name from test;//怎么出现李四了。
3. Spring默认只支持“运行时”异常的回滚机制,不支持可捕捉异常的回滚。
4.Spring声明式事务的应用
- spring对事务的支持
- Spring对事务的支持
- spring 对事务的支持
- Spring对Hibernate的事务支持
- 对事务的支持
- spring:一个简单实例之对事务的支持
- Mysql对事务的支持
- JDBC对事务的支持
- JDBC对事务的支持
- Spring支持的事务策略
- 不明觉厉的spring(4)---spring对持久层(jdbc,hibernate)以及事务的支持
- 事务:spring事务支持
- 事务:spring事务支持
- spring对事务的捕获
- Spring 事务操作(银行转账案例),使用spring 对jdbc的支持完成对数据库的操作
- JDBC中对事务的支持
- SQL事务对并发处理的支持
- spring对Junit的支持、spring对Aop的支持
- Poll函数简介
- 关于软件开发、领域知识、职业危机以及UML的计算主义思考
- 阅读 《大规模并行处理器程序设计》影印版心得 第四章 CUDA Threads
- 给初学者:关于C编译器的选择
- iPhone
- spring对事务的支持
- Linux下的压缩/解压缩工具
- 二维树状数组
- 第5章 Windows内存管理
- 短信,邮件
- android动向分析
- 从明天起,做个自由的人
- 工作计划书
- Flex:备忘->Flex 自定义组件外观/九宫格/圆角效果