답은 Yes이다.
똑똑한 자바.
Statement.close() 못할까 걱정하지 말고,
Connection.close()만 해주면 ㅇㅋ
다음은 이를 확인하는 코드와 실행 결과이다.
소스코드:
import java.sql.*;
public class DBTester {
public static void main(String[] args) {
try {
Class.forName("org.gjt.mm.mysql.Driver");
} catch (ClassNotFoundException e) {
System.err.println(e);
}
String server = "127.0.0.1";
String dbname = "mynms";
String username = "mynms";
String password = "mynms";
String url = "jdbc:mysql://" + server + "/" + dbname + "?zeroDateTimeBehavior=convertToNull";
try {
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
System.out.println("Before conn.close(), stmt.isClosed(): " + stmt.isClosed());
conn.close();
System.out.println("After conn.close(), stmt.isClosed(): " + stmt.isClosed());
} catch (SQLException e) {
System.err.println(e);
}
}
}
실행결과:
Before conn.close(), stmt.isClosed(): false
After conn.close(), stmt.isClosed(): true