• 基于SpringBoot+MyBatisPlus+DynamicDatasource+mysql的多数据源本地事务方案


    mysql多数据源处理本地事务

    本文是基于SpringBoot+MyBatisPlus+DynamicDatasource+mysql的多数据源本地事务方案

    一、准备材料

    1.一个Mysql 5.7服务器,配置my.ini让数据库服务器生成general_log日志

    [mysql]
    default-character-set=utf8
    
    [mysqld]
    port=3306
    basedir=D:/phpstudy_pro/Extensions/MySQL5.7.26/
    datadir=D:/phpstudy_pro/Extensions/MySQL5.7.26/data/
    character-set-server=utf8
    default-storage-engine=InnoDB
    max_connections=100
    collation-server=utf8_unicode_ci
    init_connect='SET NAMES utf8'
    innodb_buffer_pool_size=64M
    innodb_flush_log_at_trx_commit=1
    innodb_lock_wait_timeout=120
    innodb_log_buffer_size=4M
    innodb_log_file_size=256M
    interactive_timeout=120
    join_buffer_size=2M
    key_buffer_size=32M
    log_error_verbosity=1
    max_allowed_packet=16M
    max_heap_table_size=64M
    myisam_max_sort_file_size=64G
    myisam_sort_buffer_size=32M
    read_buffer_size=512kb
    read_rnd_buffer_size=4M
    server_id=1
    sort_buffer_size=256kb
    table_open_cache=256
    thread_cache_size=16
    tmp_table_size=64M
    wait_timeout=120
    log-error="C:/php-mqysql-log/error.txt"
    long_query_time=1
    slow_query_log=on
    general_log_file="C:/php-mqysql-log/mylog.log"
    general_log=ON
    [client]
    port=3306
    default-character-set=utf8
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    在这个MySQL服务器上建2个数据库dbk1 和dbk2,然后在dbk1中建表user,在dbk2中建表 account。

    CREATE DATABASE `dbk1`;
    
    CREATE TABLE `user` (
      `id` bigint(20) NOT NULL,
      `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `age` int(11) DEFAULT NULL,
      `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    CREATE DATABASE `dbk2`;
    
    CREATE TABLE `account` (
      `id` bigint(20) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      `pwd` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    创建一个Springboot项目,添加mysql,mybatisPlus等依赖。关键依赖如下

    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        <groupId>
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Mysql在ubuntu22.04上安装配置
    【线性代数 & C++】求逆矩阵
    OSI参考模型 -七层模型
    Mask R-CNN
    架构师系列---RPC通信原理
    2022年11月华南师范大学自考本科计算机信息管理系统加考实践题目
    Git子模块使用说明
    尼尔·唐纳德·沃尔什《与神对话》
    各类深度学习框架详解+深度学习训练环境搭建-GPU版本
    C++知识点大全(第二版)
  • 原文地址:https://blog.csdn.net/ThinkPet/article/details/126797177