rokmc1257_lse.log
로그인
rokmc1257_lse.log
로그인
JDBC(Java DataBase Connectivity)
이상억
·
2024년 12월 5일
팔로우
0
CS
cs
목록 보기
2/3
JDBC(Java DataBase Connectivity) 란 ?
JAVA Program에서 데이터베이스를 표준화된 방법으로 접속할 수 있도록 만든 API 규격
개발자는 DB 종류에 무관하게 표준화된 API를 이용해 프로그램 개발 가능
DB 종류 변경시 프로글매 수정 최소화
JDBC의 주요 클래스와 인터페이스
DriverManager
데이터베이스 드라이버를 관리하고 연결을 생성하는 데 사용.
Connection
데이터베이스와의 연결을 나타내며, 쿼리 실행에 필요한 객체를 생성.
Statement
SQL 쿼리를 실행하는 객체.
PreparedStatement
파라미터화된 쿼리를 실행하며, SQL Injection 방지와 성능 향상 가능.
ResultSet
SELECT 쿼리 결과를 처리하기 위한 객체.
JDBC 프로그램 개요
1. JDBC 드라이버 로드
설명
JDBC 드라이버를 로드하여 애플리케이션이 데이터베이스와 통신할 수 있도록 설정
역할
데이터베이스와 애플리케이션 간의 연결을 위한 통로를 설정
2. 데이터베이스 연결
설명
데이터베이스 URL, 사용자 이름, 비밀번호를 사용해 데이터베이스와 연결을 생성
역할
데이터베이스와 실제 연결을 열어 쿼리 실행이 가능하도록 준비
3. Statement 생성
설명
SQL 쿼리를 실행하기 위한 객체를 생성
Statement는 데이터베이스와 상호 작용할 때 SQL 명령을 전달하는 데 사용
4. SQL문 전송
설명
SQL 문장을 데이터베이스로 전송하여 실행
쿼리 종류에 따라 결과를 조회하거나 데이터를 삽입/수정/삭제
5. 결과 받기
설명:
데이터베이스에서 반환된 결과를 처리
SELECT 쿼리 실행 후 반환되는 ResultSet 객체를 통해 데이터를 읽음
6. 연결 해제
설명:
사용이 끝난 데이터베이스 연결 및 Statement, ResultSet 객체를 닫아 자원을 반환
연결 해제는 메모리 누수를 방지하고 데이터베이스 성능을 유지하기 위해 필수
JDBC의 한계와 대안
한계
SQL 문 작성을 직접 해야 하므로 코드가 장황해짐.
예외 처리와 자원 관리가 복잡.
대규모 프로젝트에서는 코드 관리가 어려움.
대안
ORM(Object-Relational Mapping) 프레임워크: Hibernate, JPA 등.
Spring JDBC: 스프링 프레임워크가 제공하는 JDBC 간소화 도구.
이상억
이상억
팔로우
이전 포스트
세션(Session) vs 쿠키(Cookie) vs 토큰(Token)
다음 포스트
TDD(Test-Driven Development)
0개의 댓글
댓글 작성