5290589 发表于 2016-11-25 10:06:21

mybatis-spring整合总结02_SqlSessionFactoryBean

SqlSessionFactoryBean

在Mybatis中,SqlSessionFactoryBuilder用于创建SqlSessionFactory。而在Mybatis-Spring中SqlSessionFactoryBean将取而代之。

为了得到factory bean,如上节所示,需在Spring XML中配置:
Java代码


[*]<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
[*]<propertyname="dataSource"ref="dataSource"/>
[*]</bean>


SqlSessionFactoryBean实现了Spring的FactoryBean接口。这意味着Spring最终返回的不是SqlSessionFactoryBean而是作为factory 的getObject()方法返回的Object。这相当于下面的java代码:
Java代码


[*]SqlSessionFactoryBeanfactoryBean=newSqlSessionFactoryBean();
[*]SqlSessionFactorysessionFactory=factoryBean.getObject();



SqlSessionFactory的属性
1. dataSource,SqlSessionFactory有一个必须的属性,即JDBC DataSource,这个DataSource可一个任何符合Spring配置的DataSource。
2. configLocation,用于指明mybatis的XML配置文件的位置。此配置文件并不一定是完整的,比如environments,datasource,transaction都可以忽略(由SqlSessionFactoryBean自己配置)
3. mapperLocations,用于指明一组XML Mapper文件位置。是可选项。例如:
Java代码


[*]<beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
[*]<propertyname="dataSource"ref="dataSource"/>
[*]<propertyname="mapperLocations"value="classpath*:sample/config/mappers/**/*.xml"/>
[*]</bean>
页: [1]
查看完整版本: mybatis-spring整合总结02_SqlSessionFactoryBean