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