首页 > 其他 > 详细

事务学习

时间:2018-10-16 21:28:03      阅读:143      评论:0      收藏:0      [点我收藏+]

一,利用数据库事务实现应用事务控制,对数据库操作有什么要求?

   需要使用同一个连接

二,能不能让事务的所有操作都使用同一个数据库连接?

  单一数据源:可以;多数据源:不可以

三,单一数据源,如何让事务的所有操作使用同一连接

  连接是从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:事务的状态表示

事务学习

原文:https://www.cnblogs.com/yjt-kid/p/9800524.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!