Springboot配置多源数据库

一、背景

  1. 在spring web项目中,数据经常会来自多个数据库。
  2. 如果使用多源数据库配置, 在application.properties文件里对Mybatis的配置将失效, 也就是说, 如果项目开启了自动转换驼峰命名法, 需要在配置类里面再次开启, 否则会查不到数据库里的数据。

二、配置步骤

1.application.properties文件

首先在application.properties文件里面配置2个数据库的信息, 其中一个主数据库, 一个从数据库

# 主数据库
spring.datasource.master.jdbcUrl=jdbc:mysql://10.26.21.100:3306/aas?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
spring.datasource.master.username=xxx
spring.datasource.master.password=xxx
# 从数据库
spring.datasource.slave.jdbcUrl=jdbc:mysql://10.26.21.100:3306/odin_aas?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
spring.datasource.slave.username=xxx
spring.datasource.slave.password=xxx
# mapper文件中的实体对象
mybatis.type-aliases-package=com.ke.bigdata.aas.entity
# Java中的驼峰命名映射为数据库中的下划线命名
mybatis.configuration.map-underscore-to-camel-case=true

2.数据源配置类

配置的目录结构如下:

在这里插入图片描述

(1)主数据源配置类

主要信息包含了:dao的路径,mapper的路径,数据源的前缀名称

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;

import javax.sql.DataSource;

@Configuration
@MapperScan(basePackages = "com.ke.big
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值