首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Spring 学习系列 - Spring + Mybatis 从零开始配备多数据源访问

2012-11-15 
Spring 学习系列-- Spring +Mybatis 从零开始配置多数据源访问目的:? ? 项目中以前有整合mybatis + spring

Spring 学习系列 -- Spring + Mybatis 从零开始配置多数据源访问

目的

? ? 项目中以前有整合mybatis + spring操作数据库,但是以前都是单数据库,现需要实现mybatis访问多数据源,依旧使用spring调用mybatis。

? ? 通过注解的方式整合 spring + mybatis 多数据源,同时使两者能够执行事务操作

? ? 网上虽然也有类似的文章,但是或多或少有些问题。先将我的解决方法记录下来,以供参考。

?

步骤

?

导入相关的包
Spring 学习系列  - Spring +  Mybatis 从零开始配备多数据源访问
?

?

有2个数据库,分别是spring1 和 spring2spring1 有表:teacher和数据

?


?各个包说明:com.my.teacher.pojo,com.my.student.pojo:和表结构一一对应的pojo类Teacher类:
?TeacherMapper类和对应的mapper.xml
?
com.my.student.dao,com.my.student.dao.imp:调用mapper,逐个获取student、teacher记录
??mybatis_teacher.xml:spring1的mybatis配置xml 和?mybatis_student相似
?spring_student.xml:spring2的spring配置文件(具体说明见xml里的注释)
?spring_teacher.xml:spring1的spring配置文件
?

重点说明

?

mybatis + spring 中,多数据库源的配置和单数据源配置和相似,最大的不同时,2个数据源的配置的名称不能相等。如上面配置spring配置xml中?DataSource、SqlSessionFactoryBean、MapperScannerConfigurer、DataSourceTransactionManager等在2个spring配置名称中都不相等。尤其是事务管理类DataSourceTransactionManager,必须通过以下方式开启并进行命名:<tx:annotation-driven transaction-manager="teachaerTransactionManager" />
?

?

?

? ?同时部分只演示了同时操作2个数据库,事务操作通过更新操作才能够更好演示出来,其实以上已经实现事务了,这里就省略步骤了。

? ?以上内容源代码见附近

?

?

参考文献

Spring下mybatis多数据源配置 ?

?

热点排行