我们需要Spring MVC中的应用程序,它可以一次与多个数据库进行交互。在我的application-context.xml中,我已经配置了两个具有不同id的数据源。 这是我的应用程序上下文文件:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${db.jndiName}"/>
</bean>
<bean id="jdbcTemplateSec" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSourceSec" />
</bean>
<bean id="dataSourceSec" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${db.jndiNameSec}"/>
</bean>
但是通过这个我无法加入多个不同模式的表。由于每个jdbcTemplate都有特定的数据源,限制它访问另一个数据源。 所以请提出一些解决方案。
提前致谢...
答案 0 :(得分:1)
而不是在java代码编程级别。您可以将配置移动到数据库。如果您具有足够的权限,则可以使用现有数据库附加另一个数据库。而不是在你的春天有两个数据源配置,你只能有一个。使用JdbcTemplate
,您可以操作或访问两个不同数据库上的数据。
以下链接供您参考如何将一个数据库与另一个数据库相关联
Selecting data from two different servers in SQL Server
Querying data by joining two tables in two database on different servers
Joining tables from different servers