我正在使用jdbc连接池,如果我编写像
这样的代码DatabaseMetaData dbMeta = getConnection().getMetaData();
其中getConnection()结果是连接对象。结果连接是否泄漏? 这里返回的连接没有明确关闭。
答案 0 :(得分:1)
根据JavaDocs https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html
<强>连接
强> 与特定数据库的连接(会话)。 SQL语句是 执行并在连接的上下文中返回结果。
而getMetaData()
适用于
检索DatabaseMetaData对象,该对象包含有关此Connection对象表示连接的数据库的元数据。元数据包括有关数据库表的信息,支持的SQL语法,存储过程,此连接的功能等信息。
返回:
此Connection对象的DatabaseMetaData对象
因此,getMetaData()
可用于验证连接对象的有效性,getConnection()
负责创建连接对象,getMetaData()
可用于获取与上述要点相关的信息。同样如上所述,您必须确保关闭连接以避免在使用每个连接后出现任何内存泄漏。