JDBC란?
Java Database Connectivity의 약자로, JDBC API는 Java 프로그래밍 언어에서 범용 데이터 액세스를 제공한다.
JDBC API를 사용하면 관계형 데이터베이스부터 스프레드시트 및 플랫 파일에 이르기까지 거의 모든 데이터 소스에 액세스가 가능하고 JDBC 기술은 도구와 대체 인터페이스를 구축할 수 있는 공통 기반을 제공한다.
JDBC API
JDBC API는 java.sql, javax.sql 두 패키지로 구성되어 있으며 특정 데이터베이스 관리 시스템에서 JDBC API를 사용하려면 JDBC 기술과 데이터베이스 사이를 중개하는 JDBC 기술 기반 드라이버가 필요하다.
(JDBC 드라이버는 순수하게 Java 프로그래밍 언어로 작성되거나 Java 프로그래밍 언어와 JNI(Java 네이티브 인터페이스) 네이티브 메서드가 혼합된 형태로 작성될 수 있다)
JDBC의 장점
JDBC 기술을 사용하면 Java 프로그래밍 언어를 사용하여 엔터프라이즈 데이터에 액세스해야 하는 애플리케이션에 'Write Once, Run Anywhere(한 번 작성, 어디서나 실행)' 기능을 활용할 수 있다.
또한, 데이터베이스 연결 로직을 JDBC 인터페이스에 의존하게 하여 애플리케이션의 비즈니스 로직과 분리시킬 수 있다.
JDBC의 단점
데이터베이스마다 사용방법이 다른 경우가 존재하고 일반적인 부분만 공통화 되어있기 때문에 모든 부분에서 표준화하기엔 한계가 있다.
(특히 페이징과 같은 부분에서 문제가 발생하기도 함)
따라서, Mybatis와 같은 SQL Mapper나 JPA와 같은 ORM이 탄생하게 되었고, 요즘에는 JDBC의 사용이 줄어든 이유라고도 한다.
참고
https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
https://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html
'JAVA 🎻' 카테고리의 다른 글
Function Interface과 Lambda Expression (0) | 2023.08.17 |
---|---|
[JAVA] Reactive Streams, Back Pressure란? (0) | 2023.08.05 |
[JAVA] 스트림 활용하기 (0) | 2023.03.04 |
[JAVA] Jsoup을 이용한 크롤링 (0) | 2023.02.21 |
[JAVA] 디폴트 메서드 (0) | 2023.02.15 |