当前位置: 首页 > 知识库问答 >
问题:

Hikariool vs HikariDataSource

史谦
2023-03-14

我将在我的WEB应用程序中使用HikariCP而不是c3p0。看起来,太棒了。但对我来说,HikariCP界面中仍然存在一个值得怀疑的地方。它包含两个类—HikariPool和HikariDataSource,它们包含几乎相似的功能。通过查看源代码,我发现HikariDataSource就像HikariPool的包装器。例如,请在下面找到代码中有趣的部分:

    HikariConfig config = new HikariConfig();
    config.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/mydb?user=aaa&password=xxx&autoReconnectForPools=true&autoReconnect=true&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8");
        config.setMaximumPoolSize(20);
        config.setMinimumIdle(2);
        HikariPool pool = new HikariPool(config);//using HikariPool class
//      HikariDataSource pool = new HikariDataSource(config);// using HikariDataSource class
        try (Connection conn = pool.getConnection();) {
          // execute some query...
        }

这两个类工作完美。那么,问题是这样的:最推荐使用哪一款,为什么?

提前谢谢你,

西蒙

共有1个答案

孟新知
2023-03-14

正确的方法(API)是始终从数据源获取连接:

HikariDataSource hds = new HikariDataSource(config);
hds.getConnection()

通过编码到API而不是实现来保护。
Hikaripool不是数据源。它由HikariDataSource使用。

 类似资料:

相关问答

相关文章

相关阅读