一、配置文件
pom.xm
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
<scope>runtime</scope>
</dependency>
application.yml
spring:
application:
name: double-datasource-mybatis-jdbc
profiles:
active: dev
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
server:
port: 8008
mybatis:
#mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.mk.entity.* # 注意:对应实体类的路径
configuration:
map-underscore-to-camel-case: true
sys:
jdbc:
one:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.2:3307/testdb01?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: admin123
druid:
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
enabled: true
wall:
config:
multi-statement-allow: true
stat-view-servlet:
enabled: false
two:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.2:3307/testdb02?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: admin123
druid:
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
enabled: true
wall:
config:
multi-statement-allow: true
stat-view-servlet:
enabled: false
二、配置Configuration Bean
(1)第一个Mybatis数据源配置(主)
public class MybatisDataSourceConfig {
@Primary
@Bean
@ConfigurationProperties(prefix = "sys.datasource.mybatis")
public DataSourceProperties oneDataSourceProperties(){
return new DataSourceProperties();
}
}
(2)第二个jdbc配置
public class JdbcDataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "sys.datasource.jdbc")
public DataSourceProperties jdbcDataSourceProperties(){
return new DataSourceProperties();
}
@Bean
public JdbcTemplate jdbcTemplate(@Autowired @Qualifier("jdbcDataSourceProperties") DataSourceProperties dataSourceProperties){
DataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().build();
return new JdbcTemplate(dataSource);
}
}
(3)导入配置
@Configuration
@Import({MybatisDataSourceConfig.class, JdbcDataSourceConfig.class})
public class DataSourceConfig {
}