Mybatis使用小技巧-在springboot項目中配置多數據源

在不少項目中,用到的數據源可能不止一個,這樣的話就須要咱們掌握配置多數據源的方法了。sql

@Configuration
@MapperScan(basePackages = "${該數據源對應接口所在的包}",sqlSessionTemplateRef = "SqlSessionTemplate")
public class DataBaseAccess {

    @Bean("datasource")
    @ConfigurationProperties(prefix="${數據源的配置信息}")
    public DataSource setDataSource(){
        return DruidDataSourceBuilder.create().build();
    }

    @Bean("transactionManager")
    public DataSourceTransactionManager setTransactionManager(@Qualifier("datasource") DataSource dataSource){
        return new DataSourceTransactionManager(dataSource);
    }

    @Bean("SqlSessionFactory")
    public SqlSessionFactory setSqlSessionFactory(@Qualifier("datasource") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        //這個配置是該數據源對應的mapper地址
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/*.xml"));
        //該bean還能夠設置其餘配置,配置文件有的這邊均可以設置
        return bean.getObject();
    }

    @Bean("SqlSessionTemplate")
    public SqlSessionTemplate setTemplate(@Qualifier("SqlSessionFactory") SqlSessionFactory sqlSessionFactory){
        return new SqlSessionTemplate(sqlSessionFactory);
    }

}
複製代碼

上面就是配置多數據源的方法,這樣的話mapperscan所掃描的包裏面的接口就能夠像平時咱們用的dao同樣使用了。bash


返回目錄

相關文章
相關標籤/搜索