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/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