getConnection是否始终打开新连接?

时间:2017-07-06 13:20:51

标签: java spring jdbc datasource

我在Java文件中找到了这个方法,我想知道这里发生了什么?这真的有用吗?我认为这个方法什么都不做,因为getConnection()方法创建了一个新连接然后它被关闭了。我是对的吗?

public void closeAllConnections()
    {
        for(String db : this.dbList)
            try {
                DataSource ds = (DataSource) this.applicationContext.getBean(db+"DataSource"); 
                ds.getConnection().close();
            } catch (Exception e) {
                //...
            }
    }

1 个答案:

答案 0 :(得分:4)

这取决于您的DataSource的定义方式。

如果它使用连接池,则可以重用现有连接

例如,请参阅oracle解释

  

JDBC 2.0扩展API中的连接池是一个框架   缓存数据库连接。这允许重用物理   连接和减少您的应用程序的开销。