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