设为首页 加入收藏

TOP

就是让你懂 Spring 中 Mybatis 的花样配置(八)
2017-11-08 09:31:04 】 浏览:1168
Tags:就是 Spring Mybatis 花样 配置
e(); dataSource.setAppName(properties.getAppName()); dataSource.setSharding(properties.getSharding()); dataSource.setDynamicRule(properties.getDynamicRule()); dataSource.init(); return dataSource; } //二、创建SqlSessionFactory @Bean(name = "sqlSessionFactory1") @Primary public SqlSessionFactory sqlSessionFactoryBean1() throws Exception { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource1()); sqlSessionFactoryBean.setMapperLocations(resolveMapperLocations(new String[]{"classpath:mapper/*.xml"})); return sqlSessionFactoryBean.getObject(); } //四、 创建事务管理器 @Bean(name = "txManager1") @Primary public PlatformTransactionManager txManager1(@Qualifier("dataSource1")DataSource dataSource) { System.out.println("-----------dataource-----" + dataSource.toString()); return new DataSourceTransactionManager(dataSource); } @Bean("sqlSessionTemplate1") @Primary public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory1")SqlSessionFactory sqlSessionFactory) { System.out.println("-----------sqlSessionFactory-----" + sqlSessionFactory.toString()); return new SqlSessionTemplate(sqlSessionFactory); } }

数据源二配置:

//三、设置扫描器
@MapperScan(basePackages = "com.alibaba.gh.web.speech.mapper", sqlSessionFactoryRef = "sqlSessionFactory2")

public class TddlAutoConfiguration2 {

    @Autowired
    private TddlProperties properties;

    //一、创建数据源
    @Bean(name = "dataSource2")
    public DataSource dataSource2() throws TddlException {
        TDataSource dataSource = new TDataSource();
        dataSource.setAppName(properties.getAppName());
        dataSource.setSharding(properties.getSharding());
        dataSource.setDynamicRule(properties.getDynamicRule());
        dataSource.init();

        return dataSource;
    }

    //二、创建SqlSessionFactory
    @Bean(name = "sqlSessionFactory2")
    public SqlSessionFactory sqlSessionFactoryBean1() throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

        sqlSessionFactoryBean.setDataSource(dataSource2());
        sqlSessionFactoryBean.setMapperLocations(resolveMapperLocations(new String[] { "classpath:mapper2/*.xml" }));

        return sqlSessionFactoryBean.getObject();
    }

    // 四、创建事务管理器
    @Bean(name = "txManager2")
    public PlatformTransactionManager txManager1(@Qualifier("dataSource2") DataSource dataSource) {

        System.out.println("-----------dataource-----" + dataSource.toString());
        return new DataSourceTransactionManager(dataSource);
    }
    @Bean("sqlSessionTemplate2")
    public SqlSessionTemplate sqlSessionTemplate(@Qualifier("sqlSessionFactory2")SqlSessionFactory sqlSessionFactory) {
        System.out.println("-----------sqlSessionFactory-----" + sqlSessionFactory.toString());

        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

另外SqlSessionTemplate是对SqlSessionFactory的一个包装,这里每个数据源也配置了一个,如果想使用它的话,只需要修改@mapperscan,设置sqlSessionTemplateRef替换sqlSessi

首页 上一页 5 6 7 8 下一页 尾页 8/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇浅析项目中的并发 ( 一 ) 下一篇电子凭证 : Java 生成 Pdf

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目