| New file |
| | |
| | | package com.zy.common.config.ds; |
| | | |
| | | import com.baomidou.mybatisplus.plugins.PaginationInterceptor; |
| | | import com.baomidou.mybatisplus.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.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.third.mapper", sqlSessionFactoryRef = "secondarySqlSessionFactory") |
| | | public class SecondaryDataSourceConfig { |
| | | |
| | | @Bean(name = "secondarySqlSessionFactory") |
| | | public SqlSessionFactory secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource, PaginationInterceptor paginationInterceptor) throws Exception { |
| | | try { |
| | | MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); |
| | | sessionFactory.setDataSource(dataSource); |
| | | // 设置MyBatis的Mapper XML文件路径 |
| | | sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() |
| | | .getResources("classpath:mapper/third/*.xml")); |
| | | Interceptor[] interceptors = new Interceptor[]{paginationInterceptor}; |
| | | sessionFactory.setPlugins(interceptors); |
| | | return sessionFactory.getObject(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | @Bean(name = "secondaryTransactionManager") |
| | | public DataSourceTransactionManager secondaryTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) { |
| | | return new DataSourceTransactionManager(dataSource); |
| | | } |
| | | |
| | | |
| | | } |