답은 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

Posted by 알 수 없는 사용자
,