Топ-100
Back

ⓘ JDBC 는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. ..




                                     

ⓘ JDBC

JDBC 는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.

                                     

1. 역사

썬 마이크로시스템즈는 1997년 2월 19일 JDBC를 JDK 1.1의 일부로 출시하였다. 그 뒤로 이제까지 자바 SE의 일부로 되고 있다.

JDBC 클래스는 자바 패키지 java.sql과 javax.sql에 포함되어 있다.

버전 3.1을 기점으로 JDBC는 자바 커뮤니티 프로세스를 통해 개발되고 있다. JSR 54는 JDBC 3.0을 규정J2SE 1.4에 포함됨하고, JSR 114는 JDBC Rowset addition을 규정하며, JSR 221은 JDBC 4.0의 사양자바 SE 6에 포함됨이다.

JDBC 4.1은 JSR 221의 유지보수판 1에 규정되어 있고, 자바 SE 7에 포함되어 있다.

최신 버전은 JDBC 4.2는 JSR 221의 유지보수판 2에 규정되어 있고, 자바 SE 8에 포함되어 있다.

                                     

2. 예제

자바 애플리케이션이 데이터베이스 연결이 필요할 때 DriverManager.getConnection 메소드들 가운데 하나를 사용하여 JDBC 연결을 만들게 된다. 사용된 URL은 특정 데이터베이스와 JDBC 드라이버에 의존한다. "jdbc:" 프로토콜로 무조건 시작하지만 나머지 부분은 특정 벤더에 따라 다르다.

자바 SE 7을 기점으로 자바의 try-with-resources 문을 사용하여 위의 코드를 더 깔끔하게 정리할 수 있다:

연결이 확립되면 다음과 같은 문을 작성할 수 있다.

                                     

3. JDBC 드라이버

JDBC 드라이버들은 자바 프로그램의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환해주는 클라이언트 사이드 어댑터이다. 서버가 아닌 클라이언트 머신에 설치

                                     

3.1. JDBC 드라이버 타입

상용 및 자유 드라이버들은 대부분의 관계형 데이터베이스 서버로의 연결을 제공한다. 이 드라이버들은 다음의 타입 중 하나에 속한다:

  • 타입 3: 서버 사이드 미들웨어와 통신하는 순수 자바 드라이버로서, 이후에 데이터베이스와 통신한다.
  • 타입 2: 클라이언트 사이드의 데이터베이스 벤더 네이티브 라이브리를 호출한다. 그러면 이 코드는 네트워크 상의 데이터베이스와 통신하게 된다.
  • 타입 4: 데이터베이스 네이티브 프로토콜을 사용하는 순수 자바 드라이버이다.
  • 타입 1: 로컬에서 사용 가능한 ODBC 드라이버의 네이티브 코드를 호출한다.
                                     

4. 외부 링크

  • Java SE 8 This documentation has examples where the JDBC resources are not closed appropriately swallowing primary exceptions and being able to cause NullPointerExceptions and has code prone to SQL injection
  • java.sql API Javadoc documentation
  • javax.sql API Javadoc documentation