From 00a4338443d09932ed4c56266d8c4e73ff60b46c Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期三, 29 六月 2022 16:30:14 +0800
Subject: [PATCH] 添加多数据源

---
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java
new file mode 100644
index 0000000..cb05d9e
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.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.goalManage"},
+        sqlSessionTemplateRef = "sqlTemplateGoalManage",annotationClass =
+        Repository.class)
+public class MyBatisConfigGoalManage {
+
+    @Autowired
+    @Qualifier("dsGoalManage")
+    DataSource dsGoalManage;
+
+    @Autowired
+    private MybatisPlusInterceptor mybatisPlusInterceptor;
+
+    @Bean(name = "dataSourceGoalManage")
+    @ConfigurationProperties(prefix = "spring.datasource.goalmanage")
+    public DruidDataSource dataSourceGoalManage(){
+        return DruidDataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "sqlFactoryGoalManage")
+    public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSourceGoalManage") DruidDataSource dataSource)
+            throws Exception
+    {
+        MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
+        factoryBean.setDataSource(dataSource);
+        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+
+        //-------------------
+        Resource[] rs1 = resolver.getResources("classpath*:config/mapper/goalManage/**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 = "sqlTemplateGoalManage")
+    public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlFactoryGoalManage") SqlSessionFactory sqlSessionFactory)
+    {
+        return new SqlSessionTemplate(sqlSessionFactory);
+    }
+
+}

--
Gitblit v1.9.2