运行时使用spring -jdbc或hibernate进行多个数据库连接

时间:2017-07-06 13:10:32

标签: java spring-mvc spring-boot

我有一个主数据库。用master db登录后,我有另一个db。是否可以在运行时连接到第二个数据库,并且还可以使用spring-jdbc或hibernate实现第一个db(master db)应用程序的实例, 提前谢谢。

1 个答案:

答案 0 :(得分:0)

是的,当然。您可以根据需要创建任意数量的数据源。只需在Spring Context中定义它们并在您的类中自动装配即可。这个question可能会帮助您定义具有相同类型但名称不同的组件。

UPD1:你可以在运行时创建一个数据源:

    DataSource ds = new DataSource();
    ds.setUsername("username");
    ds.setPassword("password");
    ds.setDriverClassName("com.mysql.jdbc.Driver"); // or another driver
    ds.setUrl("jdbc:mysql://{hostname}:{port}/{dbName}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false");
    ds.setTestWhileIdle(true);
    ds.setTestOnBorrow(true);
    ds.setTestOnReturn(false);
    ds.setValidationQuery("/* ping */ SELECT 1");
    ds.setValidationQueryTimeout(1);
    ds.setValidationInterval(30000);
    ds.setTimeBetweenEvictionRunsMillis(30000);        
    ds.setMinIdle(1);
    ds.setMaxWait(10000);        
    ds.setMaxIdle(10);
    ds.setInitialSize(10);
    ds.setMinEvictableIdleTimeMillis(30000);