|
@@ -1,6 +1,7 @@
|
|
|
package com.yonge.datasource;
|
|
|
|
|
|
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
|
|
|
+
|
|
|
import org.mybatis.spring.SqlSessionFactoryBean;
|
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -8,12 +9,14 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.context.annotation.Primary;
|
|
|
+import org.springframework.core.io.Resource;
|
|
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
|
import org.springframework.transaction.PlatformTransactionManager;
|
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
|
|
|
import javax.sql.DataSource;
|
|
|
+
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -26,6 +29,8 @@ public class DataSourceConfig {
|
|
|
private String resourcePath;
|
|
|
@Value("${mybatis.typeAliasesPackage}")
|
|
|
private String typeAliasesPackage;
|
|
|
+ @Value("${mybatis.configLocation}")
|
|
|
+ private Resource configLocation;
|
|
|
|
|
|
@Bean("master")
|
|
|
@Primary
|
|
@@ -49,8 +54,12 @@ public class DataSourceConfig {
|
|
|
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
|
|
|
// 配置动态数据源,如果没有将 dynamicDataSource 作为数据源则不能实现切换
|
|
|
sqlSessionFactoryBean.setDataSource(dynamicDataSource());
|
|
|
- sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(resourcePath));
|
|
|
+
|
|
|
+ PathMatchingResourcePatternResolver pmrpr = new PathMatchingResourcePatternResolver();
|
|
|
+
|
|
|
+ sqlSessionFactoryBean.setMapperLocations(pmrpr.getResources(resourcePath));
|
|
|
sqlSessionFactoryBean.setTypeAliasesPackage(typeAliasesPackage);
|
|
|
+ sqlSessionFactoryBean.setConfigLocation(configLocation);
|
|
|
|
|
|
return sqlSessionFactoryBean;
|
|
|
}
|