gpt4 book ai didi

java - Jdbc连接关闭和preparedstatement关闭

转载 作者:搜寻专家 更新时间:2023-10-31 20:04:35 26 4
gpt4 key购买 nike

大家好,我知道这是一个老问题,但今天只是好奇。正如我们所知,connection.close 也会关闭 preparedStatement(如果我错了请纠正我)。但是如果我关闭连接然后关闭 preparedStatement

conn.close();
ps.close();

我会得到空指针异常吗?

有人说取决于你的 jvm 速度。有时 ps.close() 会提前运行并在 conn.close 完成他的工作之前先关闭,所以你不会得到空指针。

为了测试,我修改了代码

conn.close();
Thread.sleep(5000);//I give 5s to conn.close to finish his work. should be enough
ps.close();

但是我没有得到空指针。

所以我的问题是,如果我先关闭 conn 然后关闭 ps,会发生什么。

谢谢大家。

最佳答案

Statement.close() 的 JavaDoc 指出:

Calling the method close on a Statement object that is already closed has no effect.

我建议这意味着如果您的语句已经通过调用 Connection.close() 关闭,那么实现应该不会抛出异常。

关于java - Jdbc连接关闭和preparedstatement关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com