Sh개발일기

JDBC란? 본문

BoostCourse

JDBC란?

Sh4869 2020. 2. 25. 11:32

학습 목표

  1. JDBC가 무엇인지 이해한다.

핵심 개념

  • JDBC
  • DriverManager
  • Connection
  • Statement
  • ResultSet

JDBC (Java DataBase Connectivity)의 정의

  • 자바를 이용한 데이터베이스 접속과 SQL문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약
  • 자바 프로그램내에서 SQL문을 실행하기 위한 자바 API
  • SQL과 프로그래밍 언어의 통합 접근 중 한 형태

자바는 표준 인터페이스인 JDBC API를 제공한다. 데이터베이스 벤더, 또는 기타 써드파티에서는 JDBC인터페이스를 구현한 드라이버를 제공한다.

JDBC 환경 구성

  • JDK 설치
  • JDBC드라이버 설치 - Maven에 다음과 같은 의존성을 추가

JDBC를 이용한 프로그래밍 방법

  • 1단계 : import java.sql.*;
  • 2단계 : 드라이버를 로드한다 -> 반드시 선행되어야 함
  • 3단계 : Connection 객체를 생성한다. -> DB에 접속
  • 4단계 : Statement 객체를 생성 및 질의 수행 -> select * from ~ 등 쿼리문 생성 및 실행
  • 5단계 : SQL문에 결과물이 있다면, ResultSet객체를 생성한다.
  • 6단계 : 모든 객체를 닫는다. -> 열었던 반대 순서로 닫는다.

JDBC 클래스의 생성 관계

JDBC사용 - 단계별 설명

1. import

2. 드라이버 로드

  • forName 메소드 - 객체를 메모리에 올려줌
  • 안에 들어가는 String은 어떤 db벤더를 이용하느냐에 따라 달라진다.

3. Connection 얻기

  • dburl은 어떤 db를 사용하느냐에 따라 달라진다.

4. Statement 생성

5. 질의 수행

6. ResultSet으로 결과 받기

7. close - > 연 순서와 반대로

JDBC 사용 예제

코드가 복잡해보이지만, 사실 위에서 배운 단계들을 그대로 따르고 있음을 볼 수 있다. JDBC를 이용하는 방법은 각각의 단계와 사용법이 정해져 있으므로 이를 사용하기 위해선 정해진 규칙을 지켜가며 코드를 작성하면 된다. 즉, 세세한 코드는 사용에 따라 다를 수 있으나 전체적인 코드는 어디서 사용하던 비슷한 형태를 띄게 된다는 것이다.

 

이러한 반복되는 절차와 코드를 손쉽게 처리해주는것이 framework의 기능 중 하나이다. 우리는 JDBC의 동작원리를 이해하고, 실제 구현은 spring framework를 이용하여 구현 할 것이다. 그러나 동작원리를 알고 쓰는것과 모르고 쓰는것은 매우 큰 차이가 있으므로 JDBC의 근본적인 동작원리를 잘 익혀두는것은 중요한 일이다.

 

 

 

'BoostCourse' 카테고리의 다른 글

Ajax 응답 처리와 비동기  (0) 2020.03.01
Web API  (0) 2020.02.25
DBMS(DataBase Management System)  (0) 2020.02.21
EL(Expression Language)  (0) 2020.02.21
스코프(Scope)  (0) 2020.02.19