Java如何在JDBC中自动关闭资源?
使用JDBC进行编程时,我们需要手动完成的一件事是确保关闭所有使用的资源。所有资源包括ResultSet,Statement并且Connection必须关闭。这通常会在我们的程序中产生很多样板代码。
从Java7的一部分JDBC4.1开始,我们可以使用该try-with-resources语句自动管理我们使用的资源。该try语句关闭该块正常或突然完成执行时使用的资源。
这是一个向我们展示如何使用该try-with-resources语句的示例。
package org.nhooo.example.jdbc; import java.sql.*; public class TryWithResourceJdbc { private static final String URL = "jdbc:mysql://localhost/nhooo"; private static final String USERNAME = "root"; private static final String PASSWORD = ""; public static void main(String[] args) { try (Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM products")) { while (rs.next()) { String code = rs.getString("code"); String name = rs.getString("name"); System.out.println("Code: " + code + "; Name: " + name); } } catch (SQLException e) { e.printStackTrace(); } } }
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency>