본문 바로가기

전지적라온시점

Java JDBC 완벽 가이드 - 데이터베이스 연동 기초부터 실전까지 본문

Development/Java

Java JDBC 완벽 가이드 - 데이터베이스 연동 기초부터 실전까지

최라온 2025. 5. 14. 15:52
728x90
반응형
SMALL

Java JDBC 완벽 가이드 - 데이터베이스 연동 기초부터 실전까지

JDBC(Java Database Connectivity)는 Java에서 데이터베이스와 통신할 수 있도록 제공되는 API입니다. 다양한 RDBMS(MySQL, Oracle, PostgreSQL 등)와 연결해 데이터를 조회, 삽입, 수정, 삭제할 수 있습니다. 이 글에서는 JDBC의 기본 구조부터 실전 사용법까지 정리합니다.

1. JDBC란?

JDBC는 Java 프로그램과 관계형 데이터베이스를 연결해주는 표준 인터페이스입니다. DB 벤더별로 제공되는 JDBC 드라이버를 통해 실제 통신이 이루어집니다.

2. JDBC 프로그래밍 기본 흐름

  1. JDBC 드라이버 로드
  2. DB 연결(Connection 객체 생성)
  3. SQL 실행(Statement 또는 PreparedStatement)
  4. 결과 처리(ResultSet)
  5. 자원 해제(Close)

3. 기본 예제 - SELECT 쿼리

import java.sql.*;

public class JdbcExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/testdb";
        String user = "root";
        String password = "1234";

        try (Connection conn = DriverManager.getConnection(url, user, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM users")) {

            while (rs.next()) {
                System.out.println(rs.getString("name"));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

4. PreparedStatement 사용 예 (INSERT)

String sql = "INSERT INTO users(name, age) VALUES(?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "홍길동");
pstmt.setInt(2, 30);
pstmt.executeUpdate();

PreparedStatement는 SQL 인젝션을 방지하고 성능도 향상됩니다.

5. 주요 객체 요약

  • Connection: DB 연결 객체
  • Statement / PreparedStatement: SQL 실행 객체
  • ResultSet: SELECT 결과 저장 객체

6. 자원 해제 (close)

DB 연결 객체는 반드시 닫아야 합니다. Java 7부터는 try-with-resources 문법을 활용하면 자동으로 자원 해제가 가능합니다.

7. JDBC 드라이버 종류

  • Type 1: JDBC-ODBC Bridge (더 이상 사용하지 않음)
  • Type 4: Pure Java Driver (가장 일반적, 예: MySQL Connector/J)

8. 실무 팁

  • 커넥션 풀 사용 (예: HikariCP, DBCP)
  • SQL 예외 로깅 필수
  • DB 연결 정보는 환경변수나 설정파일로 분리

9. 결론

JDBC는 Java와 DB를 연결하는 가장 기본적인 방법입니다. Spring JDBC, MyBatis, JPA 등 고급 기술로 나아가기 전 필수적으로 이해해야 할 핵심 기술이며, SQL 처리의 흐름을 직접 경험할 수 있다는 점에서 교육적 가치도 큽니다.

728x90
반응형
LIST