我在我的应用程序中使用 MyBatis 和 Spring Integration。我们公司有几个 Oracle 数据库。一个查询必须在一个数据库中执行,另一个必须在另一个数据库中执行。如何配置 MyBatis 使用不同的数据库连接来进行不同的查询?

请您参考如下方法:

这是 MyBatis 3 用户指南中首先涵盖的主题之一。基本上,您应该为每个数据库准备几个 XML 配置文件。最简单的方法是通过传递配置来创建映射器

String resource = "org/mybatis/example/Configuration.xml"; 
Reader reader = Resources.getResourceAsReader(resource); 
sqlMapper = new SqlSessionFactoryBuilder().build(reader); 

编辑: 不好意思,没仔细看。无论如何,我相信代码片段是不言自明的:

<jee:jndi-lookup id="jndiDatabase1"                jndi-name="jdbc/database1"/> 
<jee:jndi-lookup id="jndiDatabase2"                jndi-name="jdbc/database2"/> 
 
 <bean id="database1" class="org.mybatis.spring.SqlSessionFactoryBean"> 
    <property name="configLocation"     value="classpath:/some/path/to/database1Config.xml"/> 
    <property name="dataSource"         ref="jndiDatabase1"/> 
</bean> 
 
<bean id="database2" class="org.mybatis.spring.SqlSessionFactoryBean"> 
    <property name="configLocation"     value="classpath:/some/path/to/database2Config.xml"/> 
    <property name="dataSource"         ref="jndiDatabase2"/> 
</bean> 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!