JDBC连接尝试与资源使用
Posted
技术标签:
【中文标题】JDBC连接尝试与资源使用【英文标题】:JDBC connection try with resources use 【发布时间】:2020-09-30 18:58:48 【问题描述】:我是 Java 编程新手,对尝试资源使用有疑问 分享代码
String statement= "<statement>";
DataSource ds = createDSConnection();
if (ds == null) return;
try (PreparedStatement prepare = ds.getConnection().prepareStatement(statement))
// statement values
prepare.execute();
catch (Exception e)
这会关闭 PrepareStatement 和 db.connection(),还是只关闭 PreparedStatement?
【问题讨论】:
【参考方案1】:您的代码将仅关闭准备好的语句,并泄漏连接。如果要关闭两者,则需要在资源块中为每个资源使用一条语句:
try (Connection connection = ds.getConnection();
PreparedStatement prepare = connection.prepareStatement(statement))
// your code here
【讨论】:
以上是关于JDBC连接尝试与资源使用的主要内容,如果未能解决你的问题,请参考以下文章
使用 JDBC 获取与 MySQL 的连接时出现“连接过多”
使用 JDBC 将 Java 代码与远程 MySQL 数据库连接 [重复]
尝试通过 JDBC 与 Postgres 建立 SSL 连接时出现 PSQLException“无法打开 SSL 根证书文件”