JDBC

1. JDBC(Java DataBase Connectivity)

  • JDBC는 자바에서 데이터베이스 서버에 연결하여 SQL문을 실행하고, 결과를 처리하기 위한 표준 API

  • 오라클 뿐만 아니라 회사별 다양한 RDBMS에 연결이 가능하며 , 연결을 위해서는 각 RDBMS를 실행할 수 있는 실행라이브러리(Driver)가 필요하다.

  • 다양한 데이터베이스를 일관된 방식으로 다를 수 있도록 표준화된 인터페이스를 사용한다.

  • MyBatis, JPA등 다양한 데이터베이스관련 프레임워크에서 사용되는 핵심 인터페이스로, JDBC의 작동방식을 알아야 기타 프레임워크의 동작방식에 대한 이해가 가능하다.

2. JDBC 주요 클래스

1) DriverManager

  • 애플리케이션에 등록된 Driver클래스(OracleDriver, MySqlDriver 등)들을 관리(Manage)하는 클래스.

  • 연결된 드라이버를 통해 Connection 객체를 반환한다.

2) Connection

  • 데이터베이스의 연결(Connection)을 나타내며 연결된 데이터베이스와 연결 및 종료를 할 수 있으며, 트랜잭션 관리 또한 가능하다.

  • Connection을 통해 Statement를 생성할 수 있다.

3) Statement / PreparedStatement / CallableStatement

  • SQL문장(Statement)을 저장하고 관리하는 객체들.

  • 실행할 쿼리문을 문자열 형태로 보관하고 있다가, execute명령어 실행시 DBMS에게 SQL문을 넘긴 후 실행결과를 반환받는 역할을 한다.

4) ResultSet

  • Statement로 DBMS에게 넘긴 SQL문이 DQL문일 경우 반환 되는 객체.

  • SELECT문을 실행한 결과값(Result Set)이 담겨있다.

3. JDBC가 추가된 프로젝트 구조

4. JDBC 코딩 순서

  1. Driver 등록

    1. 연결하고자 하는 드라이버 클래스를등록

  2. DBMS연결

    1. 접속할 DB정보를 입력하여 DB에 연결

    2. 연결 성공시 Connection객체 반환

  3. Statement 생성

    1. Connection객체를 통해 Statement객체 생성

  4. SQL전송

    1. Statement객체를 통해 DBMS에 실행할 SQL문장 전달

  5. 결과 반환

    1. 실행 완료 후 결과값 반환

    2. SELECT문 실행시 ResultSet을 반환

    3. 기타 DML문 실행시 int자료형을 반환(처리된 행의 개수)

  6. [트랜잭션처리]

    1. 5번 결과에서 dml을 실행시 commit, rollback처리

  7. 닫기처리

    1. 사용한 자원을 반납

Last updated