MyBatis整合Spring的实现(9)

前面章节已经把MyBatis的全局配置文件的解析分析完成,下面继续对整合类SqlSeesionFactoryBean,代码进行分析。

if (this.transactionFactory == null) {
    this.transactionFactory = new SpringManagedTransactionFactory();
}
Environment environment = new Environment(this.environment, this.transactionFactory, this.dataSource);
configuration.setEnvironment(environment);
if (this.databaseIdProvider != null) {
    try {
        configuration.setDatabaseId(this.databaseIdProvider.getDatabaseId(this.dataSource));
    } catch (SQLException e) {
        throw new NestedIOException("Failed getting a databaseId", e);
    }
}

这里是Spring的配置文件,MyBatis整合Spring的实现(1)中1的SpringXML配置(样例)。

也就是需要建立SpringManagedTransactionFactory事务工厂。工厂构建完成,根据新事物工厂与数据源重新生成环境信息。这里在通过Spring配置提供的数据源获取当前数据库产品的名称。

总结

这里就会覆盖MyBatis的全局文件中设计的事务工厂及数据源。Configuration(全局配置类)中的databaseId也会被覆盖。这里通过DEBUG,来附上最终Configuration(全局配置类)的属性信息。

084337_If32_1269959.png

084540_T3UZ_1269959.png

084902_gjZc_1269959.png

转载于:https://my.oschina.net/u/1269959/blog/522152

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>