4 changed files with 118 additions and 39 deletions
-
2src/main/java/com/example/demo/config/Mysql1DataSourceConfig.java
-
47src/main/java/com/example/demo/config/Mysql2DataSourceConfig.java
-
47src/main/java/com/example/demo/config/Mysql3DataSourceConfig.java
-
61src/main/resources/application.yml
@ -0,0 +1,47 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
import com.zaxxer.hikari.HikariDataSource; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.SqlSessionTemplate; |
||||
|
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.core.io.support.PathMatchingResourcePatternResolver; |
||||
|
|
||||
|
import javax.sql.DataSource; |
||||
|
|
||||
|
@Slf4j |
||||
|
@Configuration |
||||
|
public class Mysql2DataSourceConfig { |
||||
|
|
||||
|
@Bean(name = "mysql2DataSource") |
||||
|
@ConfigurationProperties(prefix = "spring.datasource.mysql2") |
||||
|
public DataSource mysql2DataSource() { |
||||
|
return DataSourceBuilder.create().type(HikariDataSource.class).build(); |
||||
|
} |
||||
|
@Bean(name = "mysql2SqlSessionFactory") |
||||
|
// @Primary |
||||
|
public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource, |
||||
|
@Qualifier("globalConfiguration2") org.apache.ibatis.session.Configuration globalConfiguration2) throws Exception { |
||||
|
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); |
||||
|
sessionFactory.setDataSource(dataSource); |
||||
|
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:jindouMapper/*.xml")); |
||||
|
sessionFactory.setConfiguration(globalConfiguration2); |
||||
|
return sessionFactory.getObject(); |
||||
|
} |
||||
|
|
||||
|
@Bean(name = "mysql2SqlSessionTemplate") |
||||
|
// @Primary |
||||
|
public SqlSessionTemplate mysql2SqlSessionTemplate(@Qualifier("mysql2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { |
||||
|
return new SqlSessionTemplate(sqlSessionFactory); |
||||
|
} |
||||
|
@Bean |
||||
|
@ConfigurationProperties(prefix = "mybatis.configuration.mysql2") |
||||
|
public org.apache.ibatis.session.Configuration globalConfiguration2() { |
||||
|
return new org.apache.ibatis.session.Configuration(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
import com.zaxxer.hikari.HikariDataSource; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.SqlSessionTemplate; |
||||
|
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.core.io.support.PathMatchingResourcePatternResolver; |
||||
|
|
||||
|
import javax.sql.DataSource; |
||||
|
|
||||
|
@Slf4j |
||||
|
@Configuration |
||||
|
public class Mysql3DataSourceConfig { |
||||
|
|
||||
|
@Bean(name = "mysql3DataSource") |
||||
|
@ConfigurationProperties(prefix = "spring.datasource.mysql3") |
||||
|
public DataSource mysql2DataSource() { |
||||
|
return DataSourceBuilder.create().type(HikariDataSource.class).build(); |
||||
|
} |
||||
|
@Bean(name = "mysql3SqlSessionFactory") |
||||
|
// @Primary |
||||
|
public SqlSessionFactory mysql3SqlSessionFactory(@Qualifier("mysql3DataSource") DataSource dataSource, |
||||
|
@Qualifier("globalConfiguration3") org.apache.ibatis.session.Configuration globalConfiguration3) throws Exception { |
||||
|
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); |
||||
|
sessionFactory.setDataSource(dataSource); |
||||
|
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:jindouMapper/*.xml")); |
||||
|
sessionFactory.setConfiguration(globalConfiguration3); |
||||
|
return sessionFactory.getObject(); |
||||
|
} |
||||
|
|
||||
|
@Bean(name = "mysql3SqlSessionTemplate") |
||||
|
// @Primary |
||||
|
public SqlSessionTemplate mysql3SqlSessionTemplate(@Qualifier("mysql3SqlSessionFactory") SqlSessionFactory sqlSessionFactory) { |
||||
|
return new SqlSessionTemplate(sqlSessionFactory); |
||||
|
} |
||||
|
@Bean |
||||
|
@ConfigurationProperties(prefix = "mybatis.configuration.mysql3") |
||||
|
public org.apache.ibatis.session.Configuration globalConfiguration3() { |
||||
|
return new org.apache.ibatis.session.Configuration(); |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue