0
点赞
收藏
分享

微信扫一扫

MyBatis配置多数据源

颜路在路上 2021-10-15 阅读 176
技术分享
@Configuration
@MapperScan(basePackages = "com.tool.mapper.s1",
        sqlSessionFactoryRef = "s1SqlSessionFactory",
        sqlSessionTemplateRef = "s1SqlSessionTemplate")
public class S1Config {

    private final static String MAPPER_XML_PATH = "classpath:mybatis/mappers1/*Mapper.xml";

    @Bean(name = "s1DataSource")
    @Primary
    public DataSource getDataSource() {
        DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
        dataSourceBuilder.driverClassName("s1");
        dataSourceBuilder.url("s1");
        dataSourceBuilder.username("s1");
        dataSourceBuilder.password("s1");
        return dataSourceBuilder.build();
    }

    @Bean(name = "s1SqlSessionFactory")
    @Primary
    public SqlSessionFactory sqlSessionFactory(@Qualifier("s1DataSource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource);
        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_XML_PATH));
        return sqlSessionFactoryBean.getObject();
    }

    @Bean(name = "s1SqlSessionTemplate")
    @Primary
    public SqlSessionTemplate sqlSessionTemplate(@Qualifier("s1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(sqlSessionFactory);
    }

    @Bean(name = "s1TransactionManager")
    @Primary
    public DataSourceTransactionManager transactionManager(@Qualifier("s1DataSource") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }
}
举报

相关推荐

0 条评论