⏰ 2024. 07. 08 월
✔ 스프링 이론 강의를 듣고 정리하면서 작성했습니다.
JDBC
JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API이다.
Java 애플리케이션에서 데이터베이스에 접근하기 위해 JDBC API를 사용하여 데이터베이스에 연동할 수 있으며, 데이터베이스의 데이터를 쿼리(Query)하거나 업데이트하는 방법을 제공한다.
java.sql.Connection
: 애플리케이션과 데이터베이스 연결java.sql.Statement
: SQL을 담은 내용 전달java.sql.ResultSet
: SQL 요청에 대한 응답JDBC는 Java 애플리케이션 내에서 JDBC API를 사용하여 데이터베이스에 접근하는 단순한 구조이다.
JDBC API를 사용하기 위해서는 JDBC 드라이버를 먼저 로딩한 후 데이터베이스와 연결하게 된다.
데이터베이스와의 통신을 담당하는 인터페이스이다.
Oracle, MS SQL, MySQL 등과 같은 데이터베이스에 알맞은 각각의 JDBC 드라이버를 구현하여 제공한다.
JDBC 드라이버의 구현체를 이용해서 특정 데이터베이스에 접근할 수 있다.
JDBC 드라이버는 Type 1, 2, 3, 4 네 가지 유형이 있고 각각의 특징과 사용환경에 따라 선택한다. Type 4 드라이버(순수 자바 드라이버)가 가장 일반적으로 사용된다.
JDBC 드라이버 동작에 대한 자세한 내용은 아래의 링크에 자세히 포스팅 해 두었다.
https://velog.io/@seungsuuu/SPRING-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-Driver <JDBC Driver 동작 순서>
SpringBoot의 JDBC
SpringBoot는 데이터베이스 연결을 쉽게 구성할 수 있도록 라이브러리의 형태로 다양한 JDBC 드라이버를 지원한다.
이러한 라이브러리를 추가하여 JDBC 드라이버를 통해 복잡한 설정 없이 데이터베이스와 견결이 가능하다.
SpringBoot 애플리케이션에서 JDBC를 통해 데이터베이스와 상호 작용하기 위해 사용되는 스타터 패키지 라이브러리이다.
데이터베이스 작업을 수행하는데 필요한 주요 의존성과 자동 구성 기능을 제공한다.
데이터베이스와의 연결을 쉽고 빠르게 구성할 수 있도록 도와주는 브릿지 역할이다.
JDBC API 지원
: JDBC API를 통해 SQL 데이터베이스에 접근하고 작업을 수행할 수 있다.DataSource 구성
: 데이터소스 연결을 위한 기본적인 설정을 자동으로 구성한다.JdbcTemplate
: JdbcTemplate는 Spring의 핵심 클래스 중 하나로, JDBC 작업의 많은 번거로움을 줄여주고, SQL 쿼리 실행, 결과 세트 처리, 예외처리 등을 단순화한다.간소화된 데이터베이스 연결
: DateSource 설정과 JdbcTemplate 사용을 통해 복잡한 JDBC 코드를 간소화할 수 있다.자동 구성
: SpringBoot의 자동 구성 기능은 개발자가 데이터베이스 연결에 필요한 대부분의 구성을 자동으로 처리할 수 있도록 한다.효율적인 예외 처리
: Spring의 DataAccessException을 통해 JDBC에서 발생하는 예외를 Spring의 일관된 예외 체계로 변환한다.