spring对事务进行管理
来源:互联网 发布:sql获取seq 编辑:程序博客网 时间:2024/05/21 18:49
事务:在计算机中 ,一般是指对数据库进行的一系列操作
它有四个特性:1:原子性:指事务包含的所有操作,要么全部执行,要么全都不执行
2:持久性:事务一旦没提交了 ,他对数据库数据产生的影响是永久的
3:一致性:事务执行前后 都得处于一直状态,就好比转账 两边的钱加起来要相等
4:隔离性:当多个用户并发访问数据库时,比如操作同一张表,数据库为每一个用户开启一 个事务,
不能被其它事务所干扰,多个并发事务之间要相互隔离,即对于任意两个事务t1 和t2,在事务t1看来 ,t2要么在t1开始之前就结束了,要么在t1结束之后再开始
spring对事务进行管理:一般有两种方式,一种是编码式的 (可以用springAOP实现),一种是声明式的, 而声明式的又分为两种,一种是基于注解的,一种是基于配置文件的,我们这里就讲解一下啊声明式的
基于注解的方式:在spring配置文件里边配置:
<tx:annotation-driven />//声明注解起作用了 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" />//数据源的配置
</bean>然后在方法上或者类上就可以使用@transactional注解了,这个注解有很多属性
比如:name:用于指定用的那个transactionManage,
isolation:事务的隔离度
propagation:事务的传播 默认值为REQUIRED
rollback-for:用于指定那些异常要发生回滚
注意:如果一个方法没有声明他是事务管理的 那么他调用事务管理的方法 ,事务管理的方法也不会对事务进行管理的.
基于配置文件的(通过aop)
<!-- 事物切面配置 --> <tx:advice id="advice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="update*" propagation="REQUIRED" read-only="false" rollback-for="java.lang.Exception"/> <tx:method name="insert" propagation="REQUIRED" read-only="false"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="testService" expression="execution (* com.baobao.service.MyBatisService.*(..))"/> <aop:advisor advice-ref="advice" pointcut-ref="testService"/> </aop:config>
- spring对事务进行管理
- spring annotation方式和xml方式对事务进行管理配置
- Spring对Hibernate事务的管理
- 使用spring对struts/hibernate进行管理
- spring管理hibernate事务
- spring管理事务详解
- Spring管理Hibernate事务
- Spring 管理事务
- spring 管理 mybatis 事务
- spring+aop管理事务
- Spring管理事务方式
- spring如何管理事务
- Spring管理Hibernate事务
- Spring管理iBatis事务
- Spring管理事务
- Spring管理iBatis事务
- Spring管理Hibernate事务
- Spring管理Hibernate事务
- ElasticSearch集群搭建实例
- Spring AOP实现(API实现)
- linux下路由配置
- Python的defaultdict模块和namedtuple模块
- 概率论与数据挖掘——概率基本知识
- spring对事务进行管理
- Vue 基础模板语法
- poj 2393
- HDU
- NLP学习资料
- 二维数组的声明及初始化
- BZOJ 1036 [ZJOI2008]树的统计Count
- 夏普手机要回归中国市场,它真的还有机会吗?
- ios网易云音乐源码、动画引擎源码等