使用Spring Framework可以基于某些业务逻辑连接两个不同的数据库

时间:2010-03-01 05:15:09

标签: java spring

我有一个连接到Oracle数据库的Web应用程序。该应用程序现在将拥有一组新用户。正在为这组新用户计划新的数据库。是否可以根据登录用户连接到相应的数据库。到目前为止,数据库配置是通过xml文件中的JNDIName条目完成的。

2 个答案:

答案 0 :(得分:1)

绝对。对于给定的DAO类(假设您正在使用DAO),创建两个bean定义,每个数据库一个,然后选择要在业务逻辑中使用的DAO bean:

<bean id="dao1" class="com.app.MyDaoClass">
   <property name="dataSource" ref="dataSource1"/>
</bean>

<bean id="dao2" class="com.app.MyDaoClass">
   <property name="dataSource" ref="dataSource2"/>
</bean>

dao1dao2是代表两个不同数据库的DataSource bean。

在运行时,您的业务逻辑会相应地选择dao1dao2

答案 1 :(得分:0)

我建议将两个数据源注入您的DAO,然后在您的DAO中根据当前用户决定使用正确的数据源。当前用户可以从您的演示/服务层传递到DAO。