| New file | 
|  |  |  | 
|---|
|  |  |  | package com.dy.common.multiDataSource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * SpringBoot容器启动时,针对数据源,第二步启动本类: | 
|---|
|  |  |  | * 把第一步形成各数据源定义,注入本类对象multiDataSource属性中, | 
|---|
|  |  |  | * 本类生成SQL会话工厂对象,工厂对象持有事务工厂对象,和各数据源(数据库)表的定义(Mapper.xml) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Configuration | 
|---|
|  |  |  | public class MultiDataSourceConfig { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private javax.sql.DataSource multiDataSource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Bean(name = "sqlSessionFactory") | 
|---|
|  |  |  | public MybatisSqlSessionFactoryBean sqlSessionFactory() throws Exception { | 
|---|
|  |  |  | MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean(); | 
|---|
|  |  |  | bean.setTransactionFactory(new MultiDataSourceTransactionFactory()); | 
|---|
|  |  |  | bean.setDataSource(multiDataSource); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 刘润玉 2023-10-11 | 
|---|
|  |  |  | * 因为BasePo不必要了,所以MetaObjectHandler也不需要了,进而MultiDataSourceConfig | 
|---|
|  |  |  | * 中的相关代码也不需要了。 | 
|---|
|  |  |  | //mybatisplus 全局配置 | 
|---|
|  |  |  | GlobalConfig globalConfig  = new GlobalConfig(); | 
|---|
|  |  |  | //配置填充器 | 
|---|
|  |  |  | globalConfig.setMetaObjectHandler(new MetaObjectHandler()); | 
|---|
|  |  |  | bean.setGlobalConfig(globalConfig); | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //设置我们的xml文件路径 | 
|---|
|  |  |  | Resource[] resources = new PathMatchingResourcePatternResolver().getResources( | 
|---|
|  |  |  | "classpath*:mapper/*.xml") ; | 
|---|
|  |  |  | bean.setMapperLocations(resources); | 
|---|
|  |  |  | return bean ; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|