MyBatis整合Spring的实现(9)

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

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配置提供的数据源获取当前数据库产品的名称。ide

总结this

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

相关文章
相关标签/搜索