java7 JDBC4

오늘 자바 7 의 미리 보기 판 을 보 았 습 니 다.조금 지나 면 테스트 판 이 나 올 것 입 니 다.테스트 판 은 더 이상 기능 을 추가 하지 않 고 bug 만 수정 할 것 입 니 다.오늘 연구 한 것 은 자바 7 의 새로운 기능 jdbc 4 입 니 다.JDBC 4 의 중요 한 새로운 기능 은 데이터 베 이 스 를 연결 한 후 자바.sql.Connection,자바.sql.Statement,and 자바.sql.ResultSet 등 대상 을 수 동 으로 닫 지 않 아 도 된다 는 것 이다.이 대상 들 이 try 모듈 에서 설명 하면 JVM 은 자동 으로 이 대상 들 을 닫 습 니 다.다음은 간단 한 예 이다.
   

    public static void viewTable(Connection con) throws SQLException {
 
    String query = "select COF_NAME, SUP_ID, PRICE, SALES, TOTAL from COFFEES";
 
    try (Statement stmt = con.createStatement()) {
 
      ResultSet rs = stmt.executeQuery(query);
 
      while (rs.next()) {
        String coffeeName = rs.getString("COF_NAME");
        int supplierID = rs.getInt("SUP_ID");
        float price = rs.getFloat("PRICE");
        int sales = rs.getInt("SALES");
        int total = rs.getInt("TOTAL");
        System.out.println(coffeeName + ", " + supplierID + ", " + price +
                           ", " + sales + ", " + total);
      }
 
    } catch (SQLException e) {
      JDBCTutorialUtilities.printSQLException(e);
    }
  }

나 는 이 기능 이 매우 좋아 서 이 대상 들 이 찍 은 메모리 소 모 를 잊 어 버 리 는 것 을 방지 했다 고 생각한다.위의 코드 에 대상 stmt 를 설 명 했 습 니 다.try 가 끝 난 후에 jvm 은 자동 으로 닫 습 니 다.try 에서 이상 이 생기 면 이 대상 들 을 자동 으로 닫 을 수 있 는 지 의문 이 들 수도 있 습 니 다.정 답 은 닫 힌 다.모두 다른 견 해 를 가지 고 있다 면 토론 과 교 류 를 환영 합 니 다.

좋은 웹페이지 즐겨찾기