首页 > 编程语言 > 详细

Spring Boot学习笔记(七)多数据源下的事务管理

时间:2018-12-12 17:03:50      阅读:139      评论:0      收藏:0      [点我收藏+]

DataBaseConfig中加入事务管理器 

DataBaseConfig的详解以及多数据源的配置参见我的上一篇文章

@Configuration
@MapperScan(basePackages={"com.sc.myboot.dao"},sqlSessionFactoryRef = "MySqlSessionFactory1")
public class DataBaseConfig {
    
    @Value("${spring.datasource.type}")
    private Class<? extends DataSource> dataSourceType;
    

    @Bean(name = "MyDataSource1")
    @ConfigurationProperties(prefix = "data2")
    public DataSource getDataSource(){
        return DataSourceBuilder.create().type(dataSourceType).build();
    }
    
    @Bean(name = "Data1TransactionManager1")
    public DataSourceTransactionManager masterTransactionManager() {
        return new DataSourceTransactionManager(getDataSource());
    }
 
    
    @Bean(name = "MySqlSessionFactory1")
    public SqlSessionFactory masterSqlSessionFactory(@Qualifier("MyDataSource1") DataSource masterDataSource)
            throws Exception {
        final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
        sessionFactory.setDataSource(masterDataSource);
        return sessionFactory.getObject();
    }

}

 

在Service的方法中使用注解@Transactional

技术分享图片

在多数据源编程的情况下一定要配置多事务管理器,即一个数据源对应一个事务管理器

Spring Boot学习笔记(七)多数据源下的事务管理

原文:https://www.cnblogs.com/monkSand/p/10109231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!