From ffb382ba34aca2dce08ab9e4ef09adc946cf23c8 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期日, 27 四月 2025 17:26:31 +0800 Subject: [PATCH] 双数据源 --- src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java new file mode 100644 index 0000000..b03cd82 --- /dev/null +++ b/src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java @@ -0,0 +1,32 @@ +package com.zy.common.config.ds; + +import org.apache.ibatis.session.SqlSessionFactory; +import org.mybatis.spring.SqlSessionFactoryBean; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.jdbc.datasource.DataSourceTransactionManager; + +import javax.sql.DataSource; + +@Configuration +@MapperScan(basePackages = "com.zy.nc", sqlSessionFactoryRef = "secondarySqlSessionFactory") +public class SecondaryDataSourceConfig { + + @Bean(name = "secondarySqlSessionFactory") + public SqlSessionFactory secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource) throws Exception { + SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); + sessionFactory.setDataSource(dataSource); + // 璁剧疆MyBatis鐨凪apper XML鏂囦欢璺緞 + sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() + .getResources("classpath:mapper2/*.xml")); + return sessionFactory.getObject(); + } + + @Bean(name = "secondaryTransactionManager") + public DataSourceTransactionManager secondaryTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) { + return new DataSourceTransactionManager(dataSource); + } +} -- Gitblit v1.9.1