728x90
JDBC란?
JDBC는 Java Database Connectivity의 약자로, Java에서 DB에 접속할 수 있도록 하는 API입니다.
JDBC는 Database에서 쿼리를 실행하거나 업데이트하는 기능을 제공합니다.
관련 패키지는java.sql
과javax.sql
에 포함되어 있으며,
JVM 시스템과 DB 시스템을 연결하고 통신하기 위한 Java의 표준 스펙입니다.
Java.sql와 Javax.sql 차이
java.sql
Java 언어로 작성된 프로그램이 데이터 소스에 접근하고 처리할 수 있도록 하는 API.
다양한 DB 드라이버를 동적으로 연결할 수 있는 프레임워크 제공.
SQL문 전달에 적합하며, 테이블 형태의 모든 데이터 소스 읽기/쓰기 가능.javax.sql
서버 측 데이터 소스 접근 및 처리를 위한 API.java.sql
을 보완하며 Java SE 1.4부터 기본 포함됨.
ODBC와 JDBC 차이
항목 | JDBC | ODBC |
---|---|---|
정의 | Java Database Connectivity | Open Database Connectivity |
언어 의존성 | Java 전용 | 언어 독립적 |
플랫폼 | Java 기반 (JVM 필요) | 다양한 언어 지원 |
사용 목적 | Java 애플리케이션 ↔ DB 연결 | 다양한 애플리케이션 ↔ DB 연결 |
JDBC 흐름
Java Program ↔ JVM ↔ Database Driver ↔ Database
- JVM (Java Virtual Machine)
Java 바이트 코드를 OS에 맞게 실행 가능한 형태로 해석
JDBC의 실행은 JVM 내에서 처리됨
Ibatis란?
- iBATIS는 JDBC를 더 효율적으로 사용하기 위해 만든 프레임워크
- SQL과 자바 코드를 분리하고, DAO를 독립적으로 구성 가능
- XML에 SQL을 작성하고 자바 코드에서는 실행만 담당
MyBatis란?
- MyBatis는 iBATIS를 기반으로 발전한 ORM 프레임워크
- Java에서 관계형 데이터베이스 프로그래밍을 쉽게 도와줌
- JDBC의 반복 작업을 간소화
주요 특징
SQL 코드 분리
- DAO 파일에 직접 SQL 작성 → Mapper 파일에 SQL 작성으로 전환
- 필요 시 XML에 정의된 SQL을 불러와 사용
생산성
- 반복되는 JDBC 코드 제거로 코드량 감소
유지보수성 향상
- SQL 변경 시 Mapper 파일만 수정
- DAO는 영향을 받지 않음
Ibatis vs MyBatis
항목 | iBATIS | MyBatis |
---|---|---|
개발 주체 | Apache | Google Code로 이전 후 리브랜딩 |
최소 JDK | 1.4 이하 | 1.5 이상 |
패키지명 | com.ibatis.* |
org.apache.ibatis.* |
표현 방식 | #var# |
#{var} |
SQL 관리 | XML 기반 | XML + Annotation 지원 |
참고 자료
728x90
'BackEnd > Spring Boot' 카테고리의 다른 글
json-simple 사용 (0) | 2023.04.15 |
---|---|
HikariCP란? (0) | 2023.04.15 |
Spring Boot 서버 구축[2] (0) | 2023.04.15 |
Spring Boot 서버 구축[1] (0) | 2023.04.15 |
Spring Boot란? (0) | 2023.04.15 |