2025-10-02
오늘 배운 것
JDBC
Java DataBase Connectivity
- 자바 애플리케이션에서 DB 접근 및 사용 방법에 대한 표준화 필요성이 부각됨
- 자바 애플리케이션과 DB 간의 독립성 확보
- 표준화된 인터페이스 제공 (
java.sql 패키지 기반)
JDBC Driver
- JDBC 인터페이스에 대해 DB 벤더가 구현한 클래스 라이브러리
- JDBC를 이용한 Java 애플리케이션 실행 시 반드시 필요
- 사용하려는 DB 벤더 홈페이지에서 다운로드하거나 Maven 의존성으로 관리
- DBMS 교체 시, 해당 DB용 드라이버로 교체 필요
JDBC API
JDBC를 이용한 DB 연동 절차
- JDBC Driver Class 로딩
- JDBC 4.0 이후부터는 생략 가능 (자동 로딩)
- Connection 생성
DriverManager.getConnection() 사용
- Statement/PreparedStatement 생성
- SQL 실행
executeQuery(), executeUpdate() 등
- 결과 집합 처리
- 자원 반납
close() 호출 (ResultSet, Statement, Connection 순)
DAO 디자인 패턴
Data Access Object 패턴
- 데이터 처리 로직과 애플리케이션 비즈니스 로직을 분리
- DAO 클래스에서 DB의 CRUD(Create, Read, Update, Delete) 작업을 캡슐화
장점
- 비즈니스 로직과 데이터 접근 로직 분리 → 관심사의 분리(SoC)
- 코드 재사용성 증가
- 유지 보수성 향상
JDBC 트랜잭션
트랜잭션 관리
Connection 객체를 통해 트랜잭션 관리 가능
- 기본값은 AutoCommit 모드(true)
- 여러 SQL을 하나의 트랜잭션으로 묶으려면 AutoCommit을 false 로 변경
주요 메서드
setAutoCommit(boolean) : AutoCommit 설정
commit() : 트랜잭션 반영
rollback() : 트랜잭션 취소