如何在spring MVC和hibernate中连接位于不同物理机器上的多个数据库

时间:2012-05-31 12:11:45

标签: spring spring-mvc

您好我是春天的hibernate新手,我想连接到位于不同物理机器上的多个数据库? 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以在Spring应用程序中拥有两个不同数据库的dataSource。您需要在 dispatcher-servlet.xml 文件中添加此配置。

    <bean class="org.apache.commons.dbcp.BasicDataSource" id="dataSource" destroy-method="close" >
        <property name="driverClassName">
            <value>@mssql.driver@</value>
        </property>
        <property name="url">
            <value>@mssql.url@</value>
        </property>
        <property name="username">
            <value>@mssql.user@</value>
        </property>
        <property name="password">
            <value>@mssql.password@</value>
        </property>
        <property name="maxActive" value="100"/>
        <property name="maxWait" value="10000"/>
        <property name="maxIdle" value="10"/>
    </bean>

    <!-- DataSource bean for egpnew Database -->
    <bean class="org.apache.commons.dbcp.BasicDataSource" id="reportDataSource"  destroy-method="close">
        <property name="driverClassName">
            <value>@mssql.driver@</value>
        </property>
        <property name="url">
            <value>@mssql.egpurl@</value>
        </property>
        <property name="username">
            <value>@mssql.user@</value>
        </property>
        <property name="password">
            <value>@mssql.password@</value>
        </property>
        <property name="maxActive" value="100"/>
        <property name="maxWait" value="10000"/>
        <property name="maxIdle" value="10"/>
    </bean>

但是不要忘记在两个bean定义中都有唯一的id。

希望这会对你有所帮助。欢呼声。