本文通过最基本的设置,配置springboot 多个mysql数据源,搭配mybatis和yml
YML内容
spring:
profiles: dev
application:
name: izsc
primary: door
datasource:
coordinate: # 数据源1配置
driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动包
url: jdbc:mysql://xx.xx.xx.xx:3306/xx?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=UTC # 数据库名称
username: root
password: root
mapper-locations: classpath:/mapper/**/*Mapper.xml
product: # 数据源2配置
url: jdbc:mysql://xx.xx.xx.xx:3306/xx?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mapper-locations: classpath:/mapper/**/*Mapper.xml
door: # 数据源3配置
url: jdbc:mysql://xx.xx.xx.xx:3306/xx?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mapper-locations: classpath:/mapper/**/*Mapper.xml
dbcp2:
min-idle: 20 # 数据库连接池的最小维持连接数
initial-size: 20 # 初始化连接数
max-total: 20 # 最大连接数
max-wait-millis: 200 # 等待连接获取的最大超时时间
DataSource等BEAN配置
主(默认)数据源
请注意bean名称的对应 ,对应的mapperScan的位置以及@Primary标签标示默认
注意xml文件位置
package com.xxx.izsc.configuration.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.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;