基于SpringBoot 的Mybatis多数据库配置
项目搭建需要对多个数据库进行查询(sqlserver 和 mysql),通过自定义dataSources配置实现多数据库数据操作
注意点
- 数据库配置信息不能重名
- Mapper.xml文件和Mapper接口文件的文件夹需要一致
数据库连接信息
server.port=9094
# sqlserver 数据库配置
datasource1.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
datasource1.username=yourUsername
datasource1.password=yourPassword
datasource1.url=jdbc:sqlserver://localhost:1433;DatabaseName=mydb
# mysql 数据库配置
datasource2.driverClassName=com.mysql.jdbc.Driver
datasource2.url=jdbc:mysql://localhost:3306/taku?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
datasource2.username=yourUsername
datasource2.password=yourPassword
数据源配置,使用的是springboot 自带的Hikari数据库连接池
/**
* Mybatisfirst数据源配置
* 多数据源配置依赖数据源配置
*/
// basePackages = com.taku.mapper.first_mapper(mapper接口所在的包)
// sqlSessionTemplateRef 指向自己注入的firstSqlSessionTemplate
@Configuration
@MapperScan(basePackages =FirstMybatisPlusConfig.PACKAGE, sqlSessionTemplateRef = "firstSqlSessionTemplate")
public class FirstMybatisPlusConfig {
// 需要扫描的包,具体到对应的数据库录如下,避免串数据库
public static final String PACKAGE = "com.taku.mapper.first_mapper";
// Mapper文件所在的路径
public static final String MAPPER_LOCATION = "com/taku/mapper/first_mapper/**/.xml";
// 获取数据库配置信息
@Value("${datasource1.url}")
private String url;
@Value("${datasource1.password}")
private String password;
@Value