JDBC 는 자바 언어로 데이터베이스 프로그래밍을 하기 위한 라이브러리이다. JDBC 는 DBMS 에 종속되지 않는 API 를 제공한다. JDBC API 는 JDK 에서 제공하며 JDBC 프로그래밍을 위해서는 JDBC 드라이버가 필요하다. JDBC 드라이버는 각 DBMS 회사에서 제공하는 라이브러리 압축 파일이다.

Untitled

JDBC Driver Manager

JDBC Driver Manager 에서 JDBC 드라이버를 통하여 Connection 을 만든다. Class.forName() 메서드를 통해서 생성하는데 이 작업은 JDBC 4.0 이후부터는 생략 가능하다.

Class.forName("oracle.jdbc.driver.OracleDriver");

적절한 드라이버를 찾지 못할 경우 ClassNotFoundException 예외가 발생한다.

드라이버 클래스들은 로드될 때 자신의 인스턴스를 생성하고, 자동적으로 DriverManager 클래스 메서드를 호출하여 인스턴스를 등록한다. DriverManager 클래스는 Connection 인터페이스의 구현 객체를 생성하는데 getConnection() 메서드를 사용한다. 로드된 Connection 들은 JVM Method Area 에 저장된다.

Connection 인터페이스

Connection 객체는 특정 데이터 원본과 연결된 커넥션을 나타내고, SQL 문장을 정의하고 실행할 수 있는 Statement 객체를 생성한다.

Statement 인터페이스

Statement 인터페이스는 Connection 객체를 통해 프로그램에 리턴되는 객체에 의해 구현되는 일종의 메서드 집합을 정의한다. Statement 객체를 생성하면 Statement 의 executeQuery() 메서드를 호출하여 SQL 질의를 실행시킬 수 있다.

PreparedStatement 인터페이스

Connection 객체가 생성한다. PreparedStatement 객체는 SQL 문장이 미리 컴파일되고, 실행시간동안 인수 값을 위한 공간을 확보할 수 있다는 점에서 Statement 와 다르다.