JDBC란?
JDBC는 자바 애플리케이션이 관계형 데이터베이스와 상호작용하기 위한 표준 Java API이다.
이 API는 Java 애플리케이션이 데이터베이스 관리 시스템(DBMS)과 연결되어, 데이터를 삽입(C), 조회(R), 수정(U), 삭제(D)할 수 있도록 지원한다.
JDBC는 Java 애플리케이션과 데이터베이스를 연결하는 표준 방법으로, 개발자는 이를 통해 데이터베이스와의 연결, 쿼리 실행, 결과 처리 등을 쉽게 다룰 수 있다.
JDBC 덕분에 데이터베이스를 변경할 때도 유연하게 대응할 수가 있다.
1️⃣ JDBC 구조
2️⃣ JDBC의 주요 특징
- 표준 API
- JDBC는 Java에서 관계형 데이터베이스와 상호작용하기 위한 표준 API이며, 대부분의 관계형 데이터베이스 관리 시스템(RDBMS)은 JDBC 드라이버를 제공한다.
- JDBC만 알면 다양한 DBMS와 일관된 방식으로 통신할 수 있다.
- 데이터베이스 연결
- Connection 객체를 통해 데이터베이스와 연결을 설정한다. 연결을 통해 SQL 문을 실행하고, 트랜잭션을 관리할 수 있다.
- SQL 쿼리 실행
- JDBC에서는 SQL 쿼리를 직접 작성하여 실행합니다. Statement 또는 PreparedStatement 객체를 사용하여 SQL 쿼리를 실행하며, 그 결과를 ResultSet 객체로 반환한다.
- 결과 집합 처리 (ResultSet)
- ResultSet은 SQL SELECT 쿼리의 결과를 행 단위로 반환한다. 이 객체를 통해 데이터베이스에서 가져온 데이터를 자바 객체로 매핑하거나, 처리할 수 있다.
- 예를 들어, 데이터베이스에서 조회한 결과를 ResultSet 객체에서 꺼내어 Java 객체로 변환하여 사용할 수 있다.
- 트랜잭션 관리
- JDBC를 사용하면 트랜잭션을 관리 작업을 수행할 수 있다.
- 커밋(commit): 트랜잭션이 성공적으로 완료되었음을 데이터베이스에 반영
- 롤백(rollback): 트랜잭션 내의 작업이 실패하면 데이터베이스 상태를 이전 상태로 되돌아간다.
3️⃣ JDBC 장점과 단점
💡 장점:
- 표준화: 여러 DBMS에서 일관된 방식으로 사용 가능
- 유연성: 다양한 SQL 문을 직접 작성하여 실행할 수 있음
- 성능: PreparedStatement를 사용하여 성능을 최적화할 수 있음
💡 단점:
- 복잡성: 자원 관리와 오류 처리가 번거롭고, 코드가 길어질 수 있음
- SQL 주입: 사용자가 입력한 데이터가 SQL 쿼리로 바로 전달될 경우 SQL 인젝션 공격에 취약해짐. 이를 방지하려면 PreparedStatement를 사용해야 함
'Spring' 카테고리의 다른 글
SOLID 원칙이란? (0) | 2025.03.26 |
---|---|
REST API 기반 일정 관리 서버 시스템 구축하기(트러블 슈팅) (3) | 2025.03.25 |
롬복(Lombok)이란? (0) | 2025.03.21 |
데이터베이스와 트랜잭션의 개념 (0) | 2025.03.20 |
간단한 CRUD 메모장으로 REST API 알아보기 (1) | 2025.03.19 |