我有一个连接到Oracle数据库的Web应用程序。该应用程序现在将拥有一组新用户。正在为这组新用户计划新的数据库。是否可以根据登录用户连接到相应的数据库。到目前为止,数据库配置是通过xml文件中的JNDIName条目完成的。
答案 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>
dao1
和dao2
是代表两个不同数据库的DataSource
bean。
在运行时,您的业务逻辑会相应地选择dao1
或dao2
。
答案 1 :(得分:0)
我建议将两个数据源注入您的DAO,然后在您的DAO中根据当前用户决定使用正确的数据源。当前用户可以从您的演示/服务层传递到DAO。