JDBC Introduction
- JDBC API는 자바 API로 관계형 데이터베이스에 저장된 테이블 형식의 데이터에 접근할 수 있도록 해준다.
- JDBC는 다음의 3가지 프로그래밍 활동을 관리하는 자바 어플리케이션을 작성하게 도와준다.
- 데이터 베이스같은 데이터 소스에 연결
- 쿼리와 업데이트 문을 데이터베이스에 보내기
- DB로부터 얻은 쿼리의 답 결과를 얻기
JDBC Product Components
- JDBC는 4가지 컴포넌트를 포함한다.
- 1.JDBC API
- 자바 언어로부터 관계형 데이터에 프로그래밍적 접근을 제공
- JDBC API를 사용하면 어플은 SQL문 실행, 결과 얻기, 데이터 소스로 변화를 보내기가 가능하다.
- 분산 다중 환경의 데이터 소스들과 상호작용할 수 있다.
- SE, EE를 포함하는 자바 플랫폼의 부분이다.
- 2.JDBC Driver Manager
- JDBC DriverManager 클래스는 자바 응용을 JDBC 드라이버에 연결할 수 있는 객체를 정의한다.
- DriverManager는 전통적으로 JDBC구조의 중추역할을 맡아왔다.
- 작고 간단함
- SE 패키지인 javax.naming 및 javax.sql을 사용하면 JNDI (Java Naming and Directory Interface ™) 이름 지정 서비스에 등록 된 DataSource 오브젝트를 사용하여 데이터 소스와의 연결을 설정할 수 있다.
- 연결 메커니즘을 사용할 수 있지만 가능할 때마다 DataSource 개체를 사용하는 것이 좋다.
- 3.JDBC Test Suite
- JDBC Test Suite는 JDBC 드라이버가 당신의 프로그램을 실행시킬지 결정하는 것을 도와준다.
- 이 테스트들은 포괄적이거나 철저하지 않지만 JDBC API의 많은 중요한 기능을 수행한다.
- 4.JDBC-ODBC Bridge
- 자바 소프트웨어 브릿지는 JDBC 접근을 ODBC 드라이버를 통해 제공한다.
- ODBC 바이너리 코드를 ODBC드라이버를 사용하는 각각의 클라이언트마다 로드해야한다.
- 결과적으로 ODBC 드라이버는 클라이언트 설치가 주요 문제가 아닌 회사 네트워크나 3티어 구조의 자바로 작성된 어플 서버 코드에 가장 적절하다.
- 이번 트레일은 1,2 컴포넌트를 사용해 DB에 연결하고 SQL 커멘드로 RDB와 소통하는 자바 프로그래밍을 만든다.
- 3,4 컴포넌트는 특수한 환경에서 웹 응용 프로그램을 테스트하거나 ODBC 인식 DBMS와 통신하는 데 사용된다.
JDBC Architecture
Two-tier and Three-tier Processing Models
- JDBC API는 DB 접근을 위한 2,3계층 처리 모델을 지원한다.
- 데이터 접근을 위한 2계층 구조

- 2 계층 모델에서 자바 applet 이나 어플은 데이터 소스와 직접적으로 대화한다.
- 이것은 접근한 특정 데이터 소스와 대화할 수 있는 JDBC 드라이버가 요구된다.
- 유저의 커맨드는 DB 또는 다른 데이터 소스에 전달되고 결과가 유저에게 반환된다.
- 데이터 소스는 네트워크로 연결된 다른 머신에 위치할 수도 있다.
- 이를 클라이언트 / 서버 구성이라고하며, 사용자 컴퓨터는 클라이언트이고 데이터 소스는 서버이다
- 네트워크는 인트라넷 또는 인터넷일 수 있다.
- 데이터 접근을 위한 3계층 구조

- 최근까지 중간 계층은 종종 빠른 퍼포먼스를 제공한느 C/C++로 작성됐다.
- 그러나 자바 바이트코드를 효율적인 머신-특정 코드로 변환하는 최적화된 컴파일러와 자바빈같은 기술로 인해 중간계층 개발에서 자바 플랫폼이 빠르고 표준인 플랫폼이 됐다.
- 이것은 견고하고 다중쓰레드와 보안기능을 제공하는 자바의 장점을 얻을 수 있게했다.
- 기업에서 자바 언어를 서버 코드 작성에 사용이 증가하면서 JDBC API는 3계층의 중간계층에서 점점 더 사용됐다.
- JDBC를 서버 기술로 만든 몇몇의 기능은 connection pooling, 분산 트랜젝션,disconnected rowsets이다.
- JDBC API는 또한 자바 중간 계층에서 부터 데이터 소스에 접근할 수 있게 해준다.