sprng boot多个sqlserver数据库或者mysql数据库 数据源配置及事物处理

这篇博客介绍了如何在Spring Boot项目中配置多个sqlserver或mysql数据库,包括依赖引入、项目结构、配置文件设置、数据源配置、POM文件配置、测试Controller以及实现类、DAO和XML文件。特别指出在多数据源情况下,Mybatis的XML扫描路径和事务处理需要手动指定,且在同一个方法内操作多个数据库时,需采用分布式事物处理以确保所有数据源的事务一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建spring boot项目,sqlserver数据库的话,依赖可能无法下载,需要手动下载并且引入的maven项目中,其他数据库类型,直接在pom中引入即可。

2.项目结构
在这里插入图片描述

3.配置文件application.properties:

server.port=8894
#主库的配置
spring.datasource.config.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=config
spring.datasource.config.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.config.username=sa
spring.datasource.config.password=123456
#次库
spring.datasource.factory.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=factory
spring.datasource.factory.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.factory.username=sa
spring.datasource.factory.password=123456

4.主库和从库配置说明

package com.sheng.multipledatasources.config;

import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;

/**
 * @Author: Mr sheng.z
 * @Description:
 * @Date: Create in 14:25 2019/6/21
 */
@Configuration//注册到springboot容器
//扫描包需要执行的数据源
@MapperScan(basePackages = {"com.sheng.multipledatasources.configdao"}, sqlSessionFactoryRef = "configSqlSessionFactory")
public class DataSourceConfig {
    //注入到这个容器
    @Bean(name = "configDataSource")
    /**
     *  表示取application.properties配置文件中的前缀
     */
    @Co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值