java jdbc tutorial what is jdbc
이 JDBC 자습서는 기본 사항부터 시작하여 JDBC (Java Database Connectivity)의 구성 요소, 아키텍처 및 드라이버 유형을 설명합니다.
이 튜토리얼은 JDBC가 무엇인지, 지금까지 릴리스 된 버전, JDBC를 진행하기 전에 필요한 전제 조건, 드라이버 유형 등에 대해 설명합니다.이 튜토리얼이 끝나면 Java Database Connectivity 또는 JDBC의 기본 사항과 위치를 알게됩니다. 우리는 그것을 사용할 수 있습니다.
JDBC의 기본 사항으로이 자습서를 시작하겠습니다.
학습 내용 :
Java JDBC 자습서 목록
튜토리얼 # 1 : JDBC (Java 데이터베이스 연결) 란? (이 튜토리얼)
튜토리얼 # 2 : 프로그래밍 예제가 포함 된 Java JDBC 연결 자습서
튜토리얼 # 3 : JDBC DriverManager, JDBC PreparedStatement 및 문
튜토리얼 # 4 : JDBC ResultSet : Java ResultSet을 사용하여 데이터를 검색하는 방법
튜토리얼 # 5 : 예제를 사용한 Java JDBC 트랜잭션 관리
튜토리얼 # 6 : JDBC 예외 처리 – SQL 예외 처리 방법
튜토리얼 # 7 : JDBC 일괄 처리 및 저장 프로 시저 자습서
튜토리얼 # 8 : 상위 25 개 이상의 JDBC 인터뷰 질문 및 답변
JDBC 란?
대부분의 Java 응용 프로그램에서는 데이터를 검색, 조작 및 처리하기 위해 항상 데이터베이스와 상호 작용해야합니다. 이를 위해 Java JDBC가 도입되었습니다.
JDBC는 Java 데이터베이스 연결에 일반적으로 사용되는 약식입니다. JDBC를 사용하여 Oracle, MySQL, MS Access 등과 같은 다양한 유형의 관계형 데이터베이스와 상호 작용할 수 있습니다.
JDBC 이전에는 데이터베이스에 연결하고 작업을 수행하기 위해 ODBC API가 도입되었습니다. ODBC는 C 프로그래밍 언어로 작성 되었기 때문에 플랫폼에 따라 달라지는 ODBC 드라이버를 사용합니다. JDBC API는 Java 언어로 작성되고 플랫폼에 독립적이며 Java 플랫폼에 독립적입니다.
아래 다이어그램은 JDBC의 기본 흐름을 보여줍니다.
JDBC 버전
처음에 Sun Microsystems는 1997 년 2 월 19 일 JDK 1.1에서 JDBC를 릴리스했습니다. 그 이후에는 Java 플랫폼의 일부가되었습니다.
다음 표에는 JDBC 버전 및 구현이 포함되어 있습니다.
JDBC 버전 | JDK 구현 | 년 |
---|---|---|
JDBC 4.3 | 자바 SE 9 | 2017 년 |
JDBC 1.2 | JDK 1.1 | 1997 년 |
JDBC 2.1 | JDK 1.2 | 1999 년 |
JDBC 3.0 | JDK 1.4 | 2001 년 |
JDBC 4.0 | 자바 SE 6 | 2006 년 |
JDBC 4.1 | 자바 SE 7 | 2011 년 |
JDBC 4.2 | 자바 SE 8 | 2014 년 |
전제 조건
JDBC 튜토리얼을 진행하기 전에 Java 프로그램에서 JDBC를 사용할 수 있도록 Java에 대한 지식이 있어야합니다.
=> 추천 자료 : 자바 튜토리얼
Java 애플리케이션에서 JDBC를 구현하기위한 전제 조건은 다음과 같습니다.
1. Java 응용 프로그램을 만들고 JDBC를 사용하려는 시스템에 Java가 설치되어 있어야합니다.
이것을 참조하십시오 링크 Java 설치용.
두. DBMS에 연결하려면 적절한 JDBC 드라이버 jar 파일이 있어야합니다. 각 데이터베이스에는 서로 다른 JDBC 드라이버 jar 파일이 있습니다.
다음 표의 링크를 사용하여 특정 데이터베이스에 대한 이러한 파일을 다운로드 할 수 있습니다.
다운로드 링크가있는 데이터베이스 | JDBC 드라이버 제공자 이름 | JAR 파일 이름 |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
신탁 | Oracle Corporation | 신탁ojdbc8.jar |
SQL 서버 | 마이크로 소프트 회사 | SQL 서버sqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | PostgreSQL 글로벌 개발 그룹 | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS 액세스 | UCanAccess.com | MS 액세스ucanaccess-VERSION.jar |
JDBC의 드라이버 유형
이제 프로그램에 적합한 드라이버를 선택하는 데 도움이되는 JDBC의 드라이버 유형에 대해 설명하겠습니다.
모든 RDMS (관계형 데이터베이스 관리 시스템)는 시스템 외부에서 액세스 할 경우 드라이버가 필요합니다. 따라서 SQL 쿼리를 실행하고 데이터베이스에서 결과를 얻으려면 JDBC 드라이버가 필요합니다.
JDBC에서 사용할 수있는 드라이버에는 4 가지 유형이 있습니다. 데이터베이스에 액세스하는 데 사용되는 기술에 따라 분류됩니다.
다음과 같습니다.
- 유형 I : JDBC- ODBC 브리지
- 유형 II : 네이티브 APT-부분적으로 Java 드라이버
- 유형 III : 네트워크 프로토콜-완전 Java 드라이버
- 유형 IV : Thin Driver- Fully Java Driver
유형 I : JDBC- ODBC 브리지
이 유형의 드라이버에서 JDBC – ODBC Bridge는 클라이언트와 DB 서버 간의 인터페이스 역할을합니다. 사용자가 JDBC – ODBC Bridge를 사용하여 데이터베이스에 요청을 보내기 위해 Java 응용 프로그램을 사용하면 먼저 JDBC API를 ODBC API로 변환 한 다음 데이터베이스로 보냅니다. DB에서 결과를 받으면 ODBC API로 보낸 다음 JDBC API로 보냅니다.
이 드라이버는 OS의 기본 라이브러리에 의존하는 ODBC를 사용하기 때문에 플랫폼에 따라 다릅니다. 이 유형에서 JDBC – ODBC 드라이버는 각 클라이언트 시스템에 설치되어야하며 데이터베이스는 ODBC 드라이버를 지원해야합니다.
클라이언트 시스템의 설치와 관계없이이 드라이버를 사용할 수 있습니다. 사용하기 쉽지만 JDBC 메소드 호출을 ODBC 메소드 호출로 변환하여 성능이 저하됩니다.
참고 : JDK 1.2에서 사용할 수 있습니다.
Java 8은 이러한 유형의 드라이버를 지원하지 않습니다. Oracle은 사용자가 데이터베이스 공급 업체에서 제공하는 JDBC 드라이버를 사용할 것을 권장합니다.
그림 : 유형 I : JDBC – ODBC 브리지 드라이버
유형 II : 네이티브 API – 부분적으로 Java 드라이버
Type I 드라이버와 유사합니다. 여기서 ODBC 부분은 Type II Driver에서 원시 코드로 대체됩니다. 이 원시 코드 부분은 특정 데이터베이스 제품을 대상으로합니다. 데이터베이스의 클라이언트 측 라이브러리를 사용합니다. 이 드라이버는 JDBC 메소드 호출을 데이터베이스 원시 API의 원시 호출로 변환합니다.
데이터베이스가 사용자로부터 요청을 받으면 요청이 처리되고 결과와 함께 JDBC 형식으로 변환되어 Java 응용 프로그램에 제공되는 원시 형식으로 다시 전송됩니다.
신속하고 저렴하게 구현할 수 있기 때문에 DB 공급 업체에서 즉시 채택했습니다. 또한 DB의 기본 형식입니다.
이 유형의 드라이버는 유형 I 드라이버보다 빠른 응답과 성능을 제공합니다.
그림 : 유형 II : 기본 APT – 부분적으로 Java 드라이버
유형 III : 네트워크 프로토콜
유형 III 드라이버는 완전히 Java로 작성되었습니다. 데이터베이스에 액세스하는 3 계층 접근 방식과 같습니다. JDBC 메소드 호출을 중간 서버로 보냅니다. JDBC를 대신하여 중간 서버가 데이터베이스와 통신합니다. 애플리케이션 서버 (중간 또는 중간 계층)는 JDBC 호출을 직간접 적으로 공급 업체별 데이터베이스 프로토콜로 변환합니다.
이 접근 방식은 아키텍처 효율성을 증가시키지 않으며 대부분의 데이터베이스 공급 업체가이 드라이버를 선호하지 않기 때문에 비용이 많이 듭니다. 응용 프로그램 서버가 사용되기 때문에이 방법을 효율적으로 사용하려면 응용 프로그램 서버에 대한 충분한 지식이 있어야합니다.
그림 : 유형 III : 네트워크 프로토콜 – 완전 Java 드라이버
유형 IV : 씬 드라이버
유형 IV 드라이버는 JDBC 호출을 공급 업체별 데이터베이스 프로토콜로 직접 변환하는 직접 구현됩니다. 오늘날 대부분의 JDBC 드라이버는 유형 IV 드라이버입니다. 완전히 Java로 작성되었으므로 플랫폼에 독립적입니다. 클라이언트의 JVM (Java Virtual Machine) 내에 설치되므로 클라이언트 또는 서버 측에 소프트웨어를 설치할 필요가 없습니다. 이 드라이버 아키텍처에는 단일 드라이버에서 DB와 직접 통신하는 모든 로직이 있습니다.
다른 유형의 드라이버보다 더 나은 성능을 제공합니다. 쉽게 배포 할 수 있습니다. 오늘날 이러한 유형의 드라이버는 프로그래머가 다른 소스에 의존하지 않고 직접 사용할 수 있도록 데이터베이스 공급 업체 자체에서 개발합니다.
그림 : 유형 IV : Thin Driver – Fully Java Driver
JDBC의 응용
JDBC는 Java 애플리케이션, Applets, Servlet 또는 DB와 연결하려는 기타 Java 프로그램에서 사용할 수 있습니다.
예를 들어, 독립형 애플리케이션, 웹 사이트, 뱅킹 애플리케이션 등
JDBC의 아키텍처 및 구성 요소
JDBC 아키텍처 : DB에 접근하기 위해 두 가지 유형의 처리 모델을 지원합니다.
이것들은:
- 2 계층 아키텍처
- 3 계층 아키텍처
#1) 2 계층 아키텍처 :
Java 응용 프로그램이 데이터베이스에 직접 연결할 수 있도록 도와줍니다. 특정 DB와의 통신을 위해서는 JDBC 드라이버가 필요합니다. 사용자는 DB로 요청을 보내고 JDBC Driver를 제외한 중재자없이 직접 응답을받습니다. 동일한 시스템 또는 원격 시스템에있는 데이터베이스는 네트워크를 통해 연결됩니다. 클라이언트-서버 아키텍처라고 할 수 있습니다.
# 2) 3 계층 아키텍처 :
2 계층 아키텍처의 반대입니다. 사용자와 데이터베이스간에 직접적인 통신이 없습니다. 사용자는 요청을 다시 Database로 보내는 중간 계층 (Application Server)으로 요청을 보냅니다. 그런 다음 데이터베이스는 요청을 처리하고 결과를 사용자가 결과 / 응답을받는 중간 계층으로 보냅니다.
배포 및 관리를 단순화합니다. MIS (Management Information System) 디렉터는이 아키텍처를 사용하여 회사 데이터에 대한 액세스 제어 및 업데이트를 간편하게 유지 관리 할 수 있습니다.
3 계층 아키텍처
JDBC의 구성 요소
JDBC에는 4 가지 주요 구성 요소가 있습니다. 그들은:
- JDBC API
- JDBC 드라이버 관리자
- JDBC 테스트 스위트
- JDBC – ODBC 브리지
# 1) JDBC API : 모든 Java 프로그램에서 관계형 데이터베이스에 대한 액세스를 제공합니다. JDBC API에는 개발자를위한 표준 도구 / API를 제공하는 Java로 작성된 일련의 클래스 및 인터페이스가 있습니다. JDBC API를 사용하여 SQL 쿼리를 생성 및 실행하고, 결과를 수신하고, 데이터를 변경하고 결과를 데이터베이스에 다시 저장할 수 있습니다.
단일 Java 프로그램에서 Oracle, MySQL, MS Access와 같은 여러 데이터베이스와 상호 작용할 수 있습니다. JDBC API를 사용하면 Oracle DB에 액세스하기위한 하나의 프로그램, MySQL에 액세스하기위한 다른 프로그램, MS Access에 액세스하기위한 다른 프로그램 등을 작성할 필요가 없습니다.
JDBC API는 Java SE (Java Standard Edition)와 Java EE (Java Enterprise Edition)가 모두있는 Java 플랫폼의 일부입니다.
JDBC 4.0 API에는 2 개의 패키지가 있습니다.
- Java.sql
- Javax.sql
두 패키지 모두 Java SE 및 Java EE에서 사용할 수 있습니다.
# 2) JDBC 드라이버 관리자 : JDBC의 기존 관리 계층은 Driver Manager이며 사용자와 드라이버 간의 인터페이스 역할을합니다. 사용 가능한 드라이버의 추적 세부 정보를 유지하고 데이터베이스와 적절한 드라이버 간의 연결을 설정합니다. Java 앱을 JDBC Driver에 연결할 수있는 개체를 정의합니다. 따라서 JDBC API의 중추입니다.
다음 자습서에서 드라이버 관리자에 대해 설명합니다.
# 3) JDBC 테스트 스위트 : JDBC 드라이버가 프로그램을 실행할지 여부를 찾는 데 도움이됩니다. 이는 프로그램이 JDBC 드라이버에 의해 실행될 것이라는 확신과 적합성을 제공합니다.
# 4) JDBC- ODBC 브리지 : 이것은 ODBC 드라이버를 JDBC 드라이버로 사용합니다. 이 튜토리얼의 드라이버 유형 섹션에서 이미 다룬 TYPE I 드라이버와 유사합니다.
주목해야 할 핵심 사항 :
- JDBC는 Java 애플리케이션, 애플릿, 서블릿과 같은 Java 프로그램의 데이터베이스와 상호 작용하는 데 사용됩니다.
- JDBC의 최신 버전은 JDBC 4.3입니다. 21 이후 안정적인 릴리스입니다.성2017 년 9 월.
- 유형 I 드라이버 : JDBC ODBC Bridge – 사용하기 쉽지만 ODBC는 플랫폼에 따라 다릅니다. 또한 성능이 낮은 드라이버입니다.
- 유형 II 드라이버 : 네이티브 API – 네이티브 코드 부분은 Type I 드라이버의 ODBC 부분을 대체하고 특정 데이터베이스 제품을 대상으로합니다. Type I 드라이버보다 빠릅니다.
- 유형 III 드라이버 : Middle Tier 또는 Application Server는 JDBC 드라이버와 데이터베이스 간의 인터페이스로 사용됩니다. Application Server를 효과적으로 사용하려면 Application Server에 대한 지식이 필요합니다.
- Type IV 드라이버 : JDBC 드라이버는 즉시 데이터베이스와 통신합니다. 데이터베이스 공급 업체는 이러한 유형의 드라이버를 사용하여 고객이나 개발자에게 제공하고 있습니다.
- JDBC는 Java 언어로 작성된 모든 프로그램에서 사용할 수 있습니다.
결론
이 JDBC 자습서에서는 JDBC를 진행하기 전에 필요한 JDBC의 기본 사항과 전제 조건에 대해 배웠습니다. 우리는 개발자가 프로그램에서 사용할 드라이버 유형을 결정하는 데 도움이되는 버전과 4 가지 유형의 드라이버를 보았습니다.
또한 JDBC의 아키텍처와 4 가지 핵심 구성 요소에 대해 논의했습니다.
추천 도서
- JDBC DriverManager, JDBC PreparedStatement 및 문
- ChromeDriver Selenium 자습서 : Chrome에서 Selenium Webdriver 테스트
- Java SWING 자습서 : 컨테이너, 구성 요소 및 이벤트 처리
- 초보자를위한 JAVA 튜토리얼 : 100 개 이상의 실습 Java 비디오 튜토리얼
- Apache POI를 사용하는 Selenium WebDriver의 데이터 기반 프레임 워크
- Selenium WebDriver switchTo () 메서드를 사용하여 iFrame 처리
- 코드 예제를 사용하여 Selenium Webdriver를 사용한 접근성 테스트
- 다양한 인기 브라우저에서 Selenium WebDriver를 실행하는 방법