Backend/Java

Java - JDBC

개발자의 첫 걸음 2025. 8. 13. 10:00

 

안녕하세요. 이번시간에는

 

자바 프로그램을 데이터베이스와 연결시켜 주는 JDBC에 대해 알아볼게요.

 

 

JDBC

 

JDBC Java DataBase Connectivity 자바에서 DB에 접근(연결) 하기 위해 제공되는 표준 API

 

MySQL, Oracle, MariaDB 등 다양한 Java에 연동할 수 있어요.

 

 

 

JDBC 역할

 

JDBC는 데이터베이스와 '연결, 질의, 결과, 종료'를 담당해요.

 

DB에 접속하고, SQL문을 작성 후 전송, SQL 결과를 Java의 객체 형태로 받을 수 있답니다.

 

 

 

JDBC의 필요성

 

Java에서는 SQL문장을 직접 실행할 수 없어요.

 

DB드라이버와 JDBC API를 통해 DB와 연결로

 

Java에 표준화된 SQL을 사용하여 DBMS의 유연성(유지보수, 효율정)을  확보할 수 있습니다.

 

JDBC를 사용함으로 통합된 표준 인터페이스를 제공할 수 있어요.

 

 

JDBC 동작 흐름

 

JDBC의 동작흐름은 

 

[Java Application] >> [JDBC Driver 로딩] >> [DB 연결(Connection 생성)] >>

 [SQL 작성 및 실행] >> [결과 처리(ResultSet)] >> [자원 해제(Connection, Statement, ResultSet close)]

 

 

간단하게 설명드리면

 

Java 애플리케이션 -> SQL 실행 -> DB 결과받아오기

 

 

 

JDBC 주요 클래스

 

a) DriverManager : JDBC 드라이버 로딩 및 DB 연결을 담당

       

b) Connection : DB와 연결된 상태를 표현하는 객체

       

c) Statement : SQL 실행을 위한 객체 (정적 SQL에 사용)

       

d) PreparedStatement : ? 파라미터를 사용할 수 있는 객체 (동적 SQL에 사용)

       

e) ResultSet : SELECT 결괏값을 담는 객체 (조회 결과를 처리)

 

 

 

JDBC의 장단점

 

Java만으로 DB 연동이 가능하고, 다양한 DBMS를 지원해요. 그리고 직접적인 SQL작성이 가능함으로

 

세세한 데이터가 조회가 가능해요.

 

그러나 JDBC 사용 중 SQL 코드에 직접 작성을 해버리면 유지보수가 어려워지고,

 

JDBC의 연결문, 해제문이 반복적으로 나오기 때문에 반복적인 코드가 많아 길어질 수 있어요.

 

그리고 객체지향 설계가 어려워요(테이블은 객체 구조가 아님!)

 

해당 단점을 보완하기 위해 JPA, MyBatis 같은 프레임워크를 교육시켜요.

 

 

 

여기까지 JDBC의 대해 알아봤는데요.

 

JDBC는 중요한 통로인 것을 알게 된 것 같아요.

 

 

'Backend > Java' 카테고리의 다른 글

Spring Boot - Validation  (0) 2025.08.20
Spring Boot  (1) 2025.08.17
스트림(Stream) API  (5) 2025.07.29
람다식(Lambda Expression)  (4) 2025.07.28
내부 클래스 (Inner Class)  (4) 2025.07.27