数据库操作后关闭语句?

use*_*403 1 java jdbc

声明; 连接连接;

我在每次数据库操作后关闭连接,如下所示.

connection.close();
Run Code Online (Sandbox Code Playgroud)

我创建了语句对象,如下所示.

connection.createStatement(....)
Run Code Online (Sandbox Code Playgroud)

我是否需要关闭声明也类似于连接关闭?

我的意思是我需要调用statement.close();?

如果没有被召唤会怎么样?

谢谢!

NPE*_*NPE 5

Javadoc中说,这一切:

Statement.close()

立即释放此Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生.通常,最好在完成资源后立即释放资源,以避免占用数据库资源.

确保close()始终调用的一种好方法是将其放在finally块中:

Statement stmt = connection.createStatement();
try {
    // use `stmt'
} finally {
    stmt.close();
}
Run Code Online (Sandbox Code Playgroud)

在Java 7中,上面可以更简洁地写成:

try (Statement stmt = connection.createStatement()) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这称为try-with-resources语句.