From 00a4338443d09932ed4c56266d8c4e73ff60b46c Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: Wed, 29 Jun 2022 16:30:14 +0800
Subject: [PATCH] 添加多数据源
---
safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java
new file mode 100644
index 0000000..685c3a7
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java
@@ -0,0 +1,75 @@
+package com.gkhy.safePlatform.config.database;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
+import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionTemplate;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.io.support.ResourcePatternResolver;
+import org.springframework.stereotype.Repository;
+
+import javax.sql.DataSource;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+@Configuration
+@MapperScan(basePackages = {"com.gkhy.safePlatform.emergency","com.gkhy.safePlatform.emergency"},
+ sqlSessionTemplateRef = "sqlTemplateEmergency",annotationClass =
+ Repository.class)
+public class MyBatisConfigEmergency {
+
+ @Autowired
+ @Qualifier("dsEmergency")
+ DataSource dsEmergency;
+
+ @Autowired
+ private MybatisPlusInterceptor mybatisPlusInterceptor;
+
+ @Bean(name = "datasourceEmergency")
+ @ConfigurationProperties(prefix = "spring.datasource.emergency")
+ public DruidDataSource druidDataSourceA(){
+ return DruidDataSourceBuilder.create().build();
+ }
+
+ @Bean(name = "sqlFactoryEmergency")
+ public SqlSessionFactory sqlSessionFactory(@Qualifier("datasourceEmergency") DruidDataSource dataSource)
+ throws Exception
+ {
+ MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
+ factoryBean.setDataSource(dataSource);
+ ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+
+ //-------------------
+ Resource[] rs1 = resolver.getResources("classpath*:config/mapper/emergency/**Mapper.xml");
+// Resource[] rs2 = resolver.getResources("classpath*:config/mapper/goalManage/**Mapper.xml");
+ ArrayList<Resource> resourceArrayList = new ArrayList<>(Arrays.asList(rs1));
+// resourceArrayList.addAll(new ArrayList<>(Arrays.asList(rs2)));
+ Resource[] resourceArray = new Resource[resourceArrayList.size()];
+ resourceArrayList.toArray(resourceArray);
+ factoryBean.setMapperLocations(resourceArray);
+ //-------------------
+
+// factoryBean.setMapperLocations(resolver.getResources("classpath*:config/mapper/**/**Mapper.xml"));
+ //设置分页插件
+ Interceptor[] plugins = {mybatisPlusInterceptor};
+ factoryBean.setPlugins(plugins);
+ return factoryBean.getObject();
+ }
+
+ @Bean(name = "sqlTemplateEmergency")
+ public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlFactoryEmergency") SqlSessionFactory sqlSessionFactory)
+ {
+ return new SqlSessionTemplate(sqlSessionFactory);
+ }
+
+}
--
Gitblit v1.9.2