:: JDBC 또는 Java Database Connectivity는 데이터베이스와 쿼리를 연결하고 실행하기 위한 Java API
:: JDBC 의 클래스와 인터페이스를 사용하면, 유저가 작성한 요청(쿼리문)을 지정된 데이타베이스에 송신할 수 있다.
:: Java 데이터베이스 연결 표준을 갖춘 언어를 제공한다.
:: Java는 표준 인터페이스인 JDBC API를 제공한다. 이는 어떤 DBMS를 사용하더라도 같은 방식으로 다룰 수 있다는 것을 의미한다.
:: 자바를 이용한 DB 접속과 SQL 문장 실행, 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약을 정의한다.
:: 데이터베이스에 액세스하는 데 필요한 프로그램을 작성하는 데 사용된다.
JDBC는 자바 프로그램이 DBMS에 일관된 방식으로 접근할 수 있도록 API를 제공하는 자바 클래스들의 모임
JDBC API
:: 데이터베이스와 쉽게 통신할 수 있는 다양한 방법 및 인터페이스를 제공한다.
JDBC Driver Manager
:: 데이터베이스와의 연결을 만들고, 데이타베이스 고유의 드라이버를 애플리케이션에 로드한다.
:: 사용자 요청을 처리하기 위해 데이터베이스에 대한 데이터베이스 고유 호출에 사용한다.
JDBC Test suite
:: JDBC 드라이버에 의해 수행되는 작업(삽입, 삭제, 업데이트 등)을 테스트하기 위해 사용된다.
JDBC-ODBC Bridge Drivers
:: 데이터베이스 드라이버를 데이터베이스에 연결
Application
:: 데이터 소스와 통신하는 Java applet 또는 서블릿이다.
JDBC API
:: JDBC API를 사용하면 Java 프로그램이 SQL 문을 실행하고 결과를 가져올 수 있다.
JDBC Driver Manager
:: JDBC 아키텍처에서 중요한 역할을 한다.
:: 일부 데이터베이스 고유 드라이버를 사용하여 엔터프라이즈 애플리케이션을 데이터베이스에 효과적으로 연결한다.
JDBC Driver
:: JDBC를 통해 데이터 소스와 통신하려면 각 데이터 소스와 유연하게 통신하는 JDBC 드라이버가 필요하다.
Driver Manager
:: 데이터베이스 드라이버 목록을 관리하는 클래스이며 이 클래스는 데이터베이스에 따라 상이하다.
:: Java 응용 프로그램의 연결 요청을 통신 하위 프로토콜을 사용하여 적절한 데이터베이스 드라이버와 일치시킨다.
Connection conn = new DriverManager.getConnection(x);
Driver
:: JDBC 드라이버는 Java 응용 프로그램이 데이터베이스와 상호 작용할 수 있도록 하는 인터페이스이다.
:: 다른 데이터베이스에 접속하려면 데이터베이스별로 JDBC 드라이버가 필요하다.
:: JDBC 드라이버는 데이터베이스에 접속하여 클라이언트와 데이터베이스 간에 쿼리 및 결과를 전송하기 위한 프로토콜을 구현한다.
Connection
:: Connection Interface는 데이터베이스에 접속하기 위한 다양한 방법으로 구성된다.
Statement
:: statement는 파싱되거나, 컴파일 또는 계획되거나(planned), 실행할 SQL 문을(데이터베이스로 전달될 SQL문) 캡슐화한다.
Result Set
:: Result Set은 statement 개체를 사용하여 SQL(Structured Query Language) 쿼리를 실행할 때 데이터베이스에서 검색된 데이터를 유지한다.
:: Result Set를 사용하여 데이터를 반복할 수 있다.
Driver interface
Connection interface
Statement interface
PreparedStatement interface
CallableStatement interface
ResultSet interface
ResultSetMetaData interface
DatabaseMetaData interface
RowSet interface
import java.sql.*
JDBC Driver Loading - Class.forName()
DBMS Connection - Connection conn = DriverManager.getConnection()
(Prepared)Statement - PreparedStatement pstmt = conn.prepareStatement();
Execute the query - pstmt.executeUpdate();
Close all Object - pstmt.close() (리소스 해제는 반드시 연결의 역순으로 이루어져야한다.)