Java Spring3基于使用另一个数据源查询的连接字符串设置web应用程序数据源

Java Spring3基于使用另一个数据源查询的连接字符串设置web应用程序数据源,java,spring,Java,Spring,我有一个使用2个数据库的SpringWeb应用程序。一个数据库具有连接字符串信息,另一个数据库具有业务数据。所以,我想根据从第一个数据源查询的连接字符串设置第二个数据源。如何做到这一点?有什么想法吗。 我有以下语法的数据源定义: <bean id="userDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassN

我有一个使用2个数据库的SpringWeb应用程序。一个数据库具有连接字符串信息,另一个数据库具有业务数据。所以,我想根据从第一个数据源查询的连接字符串设置第二个数据源。如何做到这一点?有什么想法吗。 我有以下语法的数据源定义:

<bean id="userDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
   <property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDriver" />
   <property name="url" value="jdbc:sybase:Tds:127.0.0.1:2999?ServiceName=db" />
   <property name="username" value="user" />
  <property name="password" value="pass" />
</bean>

由于第二个数据库连接取决于从第一个数据库查询的内容,因此您必须首先从第一个数据库创建一个DAO对象,然后发出查询以查找第二个数据库所需的连接信息,例如url、用户名、passwprd。从第一个数据库获取所有信息后,可以使用
DriverManager
类的
getConnection
方法获取JDBC连接:

Connection connection = DriverManager.getConnection(url, username, password);

然后你可以从那里开始使用第二个DB。

有什么想法吗,伙计们,或者问题不清楚?谢谢你,汤加,我同意这个想法。我已经用DriverManager数据源setUrl、setUsername和setPassword方法尝试过了。