One thing that we need to do manually when programming using JDBC is to make sure to close all the resources that we use. All resources including the ResultSet
, Statement
and Connection
must be closed. This will usually produce a lot of boilerplate code in our program.
Starting from JDBC 4.1 which is a part of Java 7 we can use the try-with-resources
statement to automatically manage the resources that we use. This try statement closes the resources used when the block finishes its execution either normally or abruptly.
Here is an example that show us how to use the try-with-resources
statement.
package org.kodejava.jdbc;
import java.sql.*;
public class TryWithResourceJdbc {
private static final String URL = "jdbc:mysql://localhost/kodejava";
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 dependencies
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.31/mysql-connector-java-8.0.31.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
Latest posts by Wayan (see all)
- How do I calculate days between two dates excluding weekends and holidays? - January 12, 2023
- How do I discover the quarter of a given date? - January 11, 2023
- How do I export MySQL database schema into markdown format? - January 10, 2023