首页 > 其他分享 >多数据源事务

多数据源事务

时间:2024-02-20 16:58:34浏览次数:26  
标签:事务 数据源 Transactional DSTransactional 注解 DS

写在前面 : 由于手上的项目马上要上线了,会涉及到多个数据源,这里就会产生问题 ——> 用了@Transactional加事务之后,改变一个库的数据,其他库数据不会同时改变,所以这里考虑到多数据源事务,之前没有接触过,我们一起来学习吧

一、什么是多数据源

多数据源 : 在一个方法中,需要操作多个数据库,即用到了多数据源

二、多数据源事务

@Transactional 是 spring 中的注解。

  • 它只能用于单个connection连接,也就是只能对接一个库

@DSTransactional 是 mybatis-plus 中的注解。

  • DSTranactional是事务处理的注解 这个注解 修饰的方法里面 是有多个数据源,但是在使用之前,你得在你不同数据源的mapper文件上面去用@DS注解修饰,要告诉事务框架,处理事务的时候都有哪些数据源

  • @DS相当于是一个标记 把数据源标记出来 然后 @DSTransactional是具体执行事务时候的标识

  • 所以多数据源事务要二者搭配着用

标签:事务,数据源,Transactional,DSTransactional,注解,DS
From: https://www.cnblogs.com/psuitj/p/MDST.html

相关文章

  • 事务
    开发中又遇到了事务相关问题,就乘着这次,重新整理下事务相关一、什么是事务首先大家都知道sql吧,我的理解是:事务就是一组对sql语句的操作的集合。二、事务的四大特性这组sql语句具备同时执行成功和同时执行失败的特性。把这一特性细分,就是事务的四大特性——>ACIDA【Atom......
  • 03 事务隔离
    03事务隔离事务:保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的。事务ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)。建议你尽量不要使用长事务。****读未提交(readuncommitted)、读提交(readco......
  • 【Spring】【Mybatis】【Dynamic-Datasource】【事务】Spring + MyBaits + 事务 + 动
    1 前言我上次有一篇是讲了从一个数据库连接的角度分析了 Spring+MyBaits+事务三者的联系,这是在数据源固定的情况下。那么可能会遇到,比如按租户的分库,这种情况下我们会引入动态的数据源比如苞米豆团队的Dynamic-Datasource或者是自己公司内部封装的工具、框架等,这节我们......
  • 什么是Spring事务传播行为?Spring有哪些事务传播行为?
    Spring事务传播行为是指当一个事务方法(当前事务)被另一个事务方法(调用者)调用时,这个事务方法(当前事务)对另一个事务方法(调用者)的态度。简单来说,就是当一个事务方法A调用了另一个事务方法B时,B应该如何应对。用伪代码说明:publicvoidmethodA(){methodB();//doSomething......
  • 翻译,师爷师爷什么叫事务!
    当我们学习apple时候,我们很容易记住apple是什么。我们也不会对apple的概念产生模糊混淆。为什么?因为字典上明确说了,apple=苹果。那苹果是什么?苹果就是圆圆的红红的,吃起来甜甜的水果。我们学习apple如此简单,就是因为我们对苹果这个概念的理解已经通透到不能再通透......
  • Spring事务实现原理
    1、引言spring的spring-tx模块提供了对事务管理支持,使用spring事务可以让我们从复杂的事务处理中得到解脱,无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。spring事务有编程式事务和声明式事务两种实现方式。编程式事务是通过编写代码来管理事务的提交、回滚、以及......
  • Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换
    MySQL主从复制是一种常见的数据库架构,它可以提高数据库的性能和可用性。动态数据源切换则可以根据业务需求,在不同场景下使用不同的数据源,比如在读多写少的场景下,可以通过切换到从库来分担主库的压力。在本文中,我们将介绍如何在SpringBoot中实现MySQL动态数据源切换,使用My......
  • 【性能测试】MYSQL锁和mysql事务问题排查04
    一、MYSQL锁目的:解决客户端并发访问冲突问题查看死锁showOPENTABLESwhereIn_use>0案例登录接口 #锁定表LOCKTABLESlitemall.litemall_userREAD;#睡眠160秒SELECTSLEEP(160);#解锁表UNLOCKTABLES;当用户表被锁定时,接口无法登录访问,解锁后可以正......
  • 第二十二天:mysql并发控制及事务日志
    一、锁机制锁类型:读锁:共享锁,也称为S锁,只读不可写(包括当前事务),多个读互不阻塞写锁:独占锁,排它锁,也称为X锁,写锁会阻塞其它事务(不包括当前事务)的读和写S锁和S锁是兼容的,X锁和其它锁都不兼容,举个例子,事务T1获取了一个行r1的S锁,另外事务T2可以立即获......
  • 分布式事务详解
    概述随着互联网的发展,软件系统由原来的单体应用转变为分布式应用。分布式系统把一个单体应用拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。这种分布式系统下不同服务之间通过远程协作完成的事务称之为分布式事务,例如用户注册送积分事务、创建订单......