如何在hikari属性中添加两个数据库?

时间:2017-11-20 05:14:19

标签: java spring jdbctemplate hikaricp

我正在使用HikariCP和jdbc模板从一个数据库进行查询。我使用的方法如下:

我的Hikari CP配置文件(hikari.properties):

driverClassName=org.postgresql.Driver
jdbcUrl=jdbc:postgresql://10.1.19.99:5432/mvc_data_base
maximumPoolSize=60
dataSource.cachePrepStmts=true
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048

我按照

进行配置
@Configuration
public class AppConfig {
    @Bean(destroyMethod = "close")
    public DataSource dataSource() throws SQLException {
    HikariConfig config = new HikariConfig("D:/hikari.properties");
    HikariDataSource dataSource = new HikariDataSource(config);
    return dataSource;
    }
    }

我想通过JDBC模板

查询
public class UserDetail {

    @Autowired
    private JdbcTemplate jtmUserDetail;
         List<Map<String, Object>> row1= 
           jtmUserDetail.queryForList("select * from pubic.user");

}

现在我想要像

这样的东西
 public class UserDetail {

    @Autowired
    private JdbcTemplate jtmUserDetail;
    @Autowired
    private JdbcTemplate jtmUserDetail2;
         List<Map<String, Object>> row1= 
           jtmUserDetail.queryForList("select * from pubic.user");
         List<Map<String, Object>> row2= 
           jtmUserDetail2.queryForList("select * from pubic.user");


}

其中jtmUserDetail从一个数据库(mvc_data_base)查询,jtmUserDetail2从另一个数据库(test_data_base)查询。

我不知道如何指定要在此查询的数据库。

1 个答案:

答案 0 :(得分:1)

您需要拥有2个数据源属性和2个函数,以便将每个数据源作为

dp.job_queue.run_daily(seturl, datetime.datetime.strptime(row[0],'%H:%M:%S').time(), context = Update.de_json(json.loads(row[1]),dp.bot))

然后添加逻辑来控制何时使用每个数据源。

您可以将2 jdbcTemplate与different @Qualifier

一起使用