mysterin / question_and_answer

1 stars 0 forks source link

MapperScannerConfigurer 的自动装配 #86

Closed mysterin closed 5 years ago

mysterin commented 5 years ago

spring-mybatis 集成方式可以通过 MapperScannerConfigurer 类来扫描对应的 mapper 接口, 然后通过 MapperFactoryBean 生成接口的代理类. MapperFactoryBean实现了 SqlSessionDaoSupport. 它生成的代理类会自己完成 sqlSession 的提交, 回滚以及关闭, 因此不需要我们再主动做这些操作了. 配置方式如下:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="xx.yy.*.mapper" />
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>

注意: 如果没有配置 sqlSessionFactoryBeanName 或者 sqlSessionTemplateBeanName, 将会用自动装配方式配置, 单一数据源是没问题, 如果有多个数据源就需要指定 sqlSessionFactoryBeanName.