<aside> 💡 JDBC는 자바에서 데이터베이스에 연결할 수 있도록하는 자바 API이며, JDBC API를 통해 데이터베이스에 접근하여 통신을 진행하는데, 이때 연결의 효율성을 위해 커넥션 풀 이란 개념을 이용해 커넥션을 미리 생성하여 활용한다.
</aside>
JDBC(Java Database Connectivity)는
자바에서 데이터베이스에 접속을 할 수 있도록 하는 자바 API이다. JDBC는 자바 어플리케이션에서 데이터베이스에 접근하기 위해 JDBC API를 사용하여 데이터베이스에 연동할 수 있으며, 데이터베이스에서 자료를 쿼리(Query)하거나 업데이트하는 방법을 제공한다.
java.sql.Connection
데이터베이스와 연결 정보를 가지는 인터페이스
java.sql.Statement
SQL 쿼리문을 데이터베이스에 전송하는 방법을 정의한 인터페이스
java.sql.ResultSet
구문 실행 결과를 조회할 수 있는 방법을 정의한 인터페이스
java.sql.Driver
데이터베이스와 연결하는 Driver class를 만들 때 사용하는 인터페이스
JDBC는 Java 애플리케이션 내에서 JDBC API를 사용하여 데이터베이스에 접근하는 단순한 구조이다.JDBC API를 사용하기 위해서는 JDBC 드라이버를 먼저 로딩한 후 데이터베이스와 연결하게 된다.
※ JDBC 드라이버
데이터베이스와의 통신을 담당하는 인터페이스 Oracle, MS SQL, MySQL 등과 같은 데이터베이스에 알맞은 JDBC 드라이버를 구현하여 제공 JDBC 드라이버의 구현체를 이용해서 특정 벤더의 데이터베이스에 접근할 수 있음
<aside> 💡 JDBC API 흐름
JDBC 드라이버 로딩 :
사용하고자 하는 JDBC 드라이버를 로딩. JDBC 드라이버는 DriverManager 클래스를 통해 로딩된다.
Connection 객체 생성 :
JDBC 드라이버가 정상적으로 로딩되면 DriverManager를 통해 데이터베이스와 연결되는 세션(Session)인 Connection 객체를 생성한다.
Statement 객체 생성 :
Statement 객체는 작성된 SQL 쿼리문을 실행하기 위한 객체로 정적 SQL 쿼리 문자열을 입력으로 가진다.
Query 실행 :
생성된 Statement 객체를 이용하여 입력한 SQL 쿼리를 실행한다.
ResultSet 객체로부터 데이터 조회 :
실행된 SQL 쿼리문에 대한 결과 데이터 셋이다. ResultSet, Statement, Connection 객체들의 Close : JDBC API를 통해 사용된 객체들은 생성된 객체들을 사용한 순서의 역순으로 Close 한다.
</aside>