事务学习
Posted yjt-kid
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事务学习相关的知识,希望对你有一定的参考价值。
一,利用数据库事务实现应用事务控制,对数据库操作有什么要求?
需要使用同一个连接
二,能不能让事务的所有操作都使用同一个数据库连接?
单一数据源:可以;多数据源:不可以
三,单一数据源,如何让事务的所有操作使用同一连接
连接是从dataSource中获得的,我们改造一下dataSource,把得到的连接放到线程上下文,下一个操作获取连接时,从线程上下文获取即可。
四,多数据源的情况下,还能了利用数据库事务吗?
能,属于一个数据源的操作放在一个局部事务中(数据库事务),当应用事务(全局事务)失败时,让这些局部事务都回滚。成功则让局部事务都提交。
五,应用事务和数据库事务是同一个吗?
数据库事务是数据库控制多个数据库操作的,应用事务是应用中控制多个应用操作(方法)的。应用事务借用数据库事务,把它的操作结果还原。
六,Spring的7种事务传播行为类型
1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。
2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘
3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。
4、PROPAGATION_REQUIRES_NEW:创建新事务,无论当前存不存在事务,都创建新事务。
5、PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
6、PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。
7、PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。
七,事务由哪些部分组成?
1,构成事务的操作,或事务范围
2,事务控制部分
八,spring事务建模:三个核心
》TransactionDefinition:事务定义
》PlatformTransactionManager:事务管理器
》TransactionStatus:事务的状态表示
以上是关于事务学习的主要内容,如果未能解决你的问题,请参考以下文章