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

Java 使用Spring框架可以基于某些业务逻辑连接两个不同的数据库,java,spring,Java,Spring,我有一个连接到Oracle数据库的web应用程序。应用程序现在将有一组新的用户。正在为这组新用户计划一个新的数据库。是否可以根据登录的用户连接到相应的数据库。到目前为止,数据库配置是通过xml文件中的JNDIName条目完成的。我建议将这两个数据源注入DAO,然后在DAO中根据当前用户确定要使用的正确数据源。当前用户可以从表示层/服务层传递到DAO。我建议将这两个数据源注入DAO,然后在DAO中根据当前用户决定要使用的正确数据源。当前用户可以从表示层/服务层传递到DAO。绝对可以。对于给定的DA

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

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

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

绝对可以。对于给定的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>

其中
dao1
dao2
是表示两个不同数据库的
DataSource
bean


在运行时,您的业务逻辑会适当地选择
dao1
dao2

绝对正确。对于给定的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>

其中
dao1
dao2
是表示两个不同数据库的
DataSource
bean

在运行时,您的业务逻辑会适当地选择
dao1
dao2