java jdbc tutorial what is jdbc
Починаючи з основ, цей посібник JDBC пояснює компоненти, архітектуру та типи драйверів у Java Database Connectivity (JDBC):
Цей підручник пояснює, що таке JDBC, його версії, випущені дотепер, які передумови необхідні перед продовженням роботи з JDBC, типи драйверів тощо. Наприкінці цього посібника ви знаєте основи підключення бази даних Java або JDBC і де ми можемо ним скористатися.
Почнемо цей підручник з основ JDBC.
Що ви дізнаєтесь:
Список підручників Java JDBC
Підручник No1: Що таке JDBC (підключення до бази даних Java) (Цей підручник)
Підручник No2: Підручник з підключення Java JDBC із прикладом програмування
Підручник No3: JDBC DriverManager, JDBC PreparedStatement and Statement
Підручник No4: JDBC ResultSet: Як використовувати Java ResultSet для отримання даних
Підручник No5: Управління транзакціями Java JDBC на прикладі
Підручник No6: Обробка винятків JDBC - Як обробляти винятки SQL
Підручник No7: Підручник з пакетної обробки та збережених процедур JDBC
Підручник No8: Найкращі запитання та відповіді на інтерв’ю JDBC 25+
Що таке JDBC
У більшості програм Java завжди існує необхідність взаємодіяти з базами даних для отримання, обробки та обробки даних. Для цього було введено Java JDBC.
JDBC - це загальновживана коротка форма для підключення до бази даних Java. Використовуючи JDBC, ми можемо взаємодіяти з різними типами реляційних баз даних, такими як Oracle, MySQL, MS Access тощо.
До JDBC був представлений API ODBC для підключення та виконання операцій з базою даних. ODBC використовує драйвер ODBC, який залежить від платформи, оскільки він був написаний мовою програмування C. JDBC API написаний мовою Java, незалежний від платформи і робить Java незалежним від платформи.
Нижче на схемі показано основний потік JDBC:

Версії JDBC
Спочатку Sun Microsystems випустив JDBC в JDK 1.1 19 лютого 1997 р. Після цього він став частиною платформи Java.
Наступна таблиця містить версії та реалізації JDBC:
| Версія JDBC | Впровадження JDK | Рік |
|---|---|---|
| JDBC 4.3 | Java 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 | Java SE 6 | 2006 рік |
| JDBC 4.1 | Java SE 7 | 2011 рік |
| JDBC 4.2 | Java SE 8 | 2014 рік |
Обов’язкова умова
Перш ніж продовжувати підручник з JDBC, вам слід добре знати Java, щоб ви могли використовувати JDBC у програмах Java.
=> Рекомендована література: Підручники з Java
Передумови для реалізації JDBC у програмах Java такі:
1. Java повинна бути встановлена в системі, де ви хочете створити програму Java та використовувати JDBC.
Зверніться до цього посилання для встановлення Java.
два. Ви повинні мати належні файли jar-драйверів JDBC для підключення до СУБД. Кожна база даних має різні файли jar-файлів JDBC.
Ви можете завантажити ці файли для конкретної бази даних за допомогою посилань у наступній таблиці:
| База даних із посиланням для завантаження | Ім'я постачальника драйвера JDBC | Ім'я файлу JAR |
|---|---|---|
| MySQL | Корпорація Oracle | MySQLmysql-connector-java-VERSION.jar |
| Oracle | Корпорація Oracle | Oracleojdbc8.jar |
| SQL Server | Корпорація Майкрософт | SQL Serversqljdbc41.jar, sqljdbc42.jar |
| Postgre SQL | Група глобального розвитку PostgreSQL | Postgre SQLpostgresql-VERSION.jar |
| SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
| MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Типи драйверів у JDBC
Тепер давайте обговоримо типи драйверів у JDBC, щоб допомогти вибрати той, який підходить для вашої програми.
Усі RDMS (Реляційна система управління базами даних) потребують драйвера, якщо до них потрібно отримати доступ поза межами їхньої системи. Отже, драйвер JDBC необхідний для виконання запитів SQL та отримання результату з бази даних.
У JDBC є 4 різні типи драйверів. Вони класифікуються на основі техніки, яка використовується для доступу до бази даних.
Вони такі:
- Тип I: JDBC-ODBC міст
- Тип II: Власний APT - частково драйвер Java
- Тип III: Мережевий протокол - повністю Java-драйвер
- Тип IV: Тонкий драйвер - повністю Java-драйвер
Тип I: JDBC-ODBC міст
У цьому типі драйверів JDBC - ODBC Bridge діє як інтерфейс між клієнтом і сервером БД. Коли користувач використовує додаток Java для надсилання запитів до бази даних за допомогою моста JDBC - ODBC, він спочатку перетворює API JDBC в API ODBC, а потім відправляє його в базу даних. Коли результат отримується з БД, він надсилається до API ODBC, а потім до API JDBC.
Цей драйвер залежить від платформи, оскільки використовує ODBC, який залежить від власної бібліотеки ОС. У цьому типі драйвер JDBC - ODBC повинен бути встановлений у кожній клієнтській системі, а база даних повинна підтримувати драйвер ODBC.
Коли справа не в установці на клієнтській машині, ми можемо використовувати цей драйвер. Він простий у використанні, але забезпечує низьку продуктивність завдяки перетворенню викликів методу JDBC до викликів методу ODBC.
Примітка: Він доступний у JDK 1.2
Java 8 не підтримує цей тип драйверів. Oracle рекомендує користувачеві використовувати драйвери JDBC, надані їх постачальниками баз даних.
Рисунок: Тип I: JDBC - драйвер моста ODBC
Тип II: Власний API - Частково драйвер Java
Це схоже на драйвер типу I. Тут частина ODBC замінена на власний код у драйвері типу II. Ця частина коду націлена на певний продукт бази даних. Він використовує бібліотеки на стороні клієнта бази даних. Цей драйвер перетворює виклики методу JDBC у власні виклики власного API бази даних.
Коли база даних отримує запити від користувача, запити обробляються та відправляються назад із результатами у власному форматі, які слід перетворити у формат JDBC та передати їх додатку Java.
Він був негайно прийнятий постачальниками БД, оскільки він був швидким та недорогим у впровадженні. Він також знаходиться у власному форматі БД.
Цей тип драйверів забезпечує швидшу реакцію та продуктивність, ніж драйвер типу I.
Рисунок: Тип II: Рідний APT - Частково драйвер Java
Тип III: Мережевий протокол
Драйвер типу III повністю написаний на Java. Це як трирівневий підхід до доступу до бази даних. Він надсилає виклики методу JDBC на проміжний сервер. Від імені JDBC проміжний сервер взаємодіє з базою даних. Сервер додатків (проміжний або середній рівень) перетворює виклики JDBC прямо чи опосередковано в конкретний постачальник протоколу бази даних.
Цей підхід не підвищує ефективність архітектури, а також він є дорогим, оскільки більшість постачальників баз даних не віддають перевагу цьому драйверу. Оскільки використовується сервер додатків, ви повинні добре знати сервер додатків, щоб ефективно використовувати цей підхід.
Рисунок: Тип III: Мережевий протокол - повністю драйвер Java
Тип IV: тонкий драйвер
Драйвер типу IV реалізований безпосередньо, що перетворює виклики JDBC безпосередньо в конкретний постачальник протоколу бази даних. Сьогодні більшість драйверів JDBC є драйверами типу IV. Він повністю написаний на Java і, отже, не залежить від платформи. Він встановлюється всередині JVM (Java Virtual Machine) клієнта, тому вам не потрібно встановлювати будь-яке програмне забезпечення на клієнтській або серверній стороні. Ця архітектура драйвера має всю логіку для безпосереднього спілкування з БД в одному драйвері.
Це забезпечує кращу продуктивність, ніж водії іншого типу. Це дозволяє легко розгорнути. В даний час цей тип драйвера розробляється самим постачальником даних, щоб програмісти могли використовувати його безпосередньо, не залежачи від інших джерел.
Рисунок: Тип IV: Тонкий драйвер - повністю Java-драйвер
Додатки JDBC
JDBC можна використовувати в додатках Java, аплетах, сервлетах або будь-яких інших програмах Java, де ви хочете підключитися до БД.
Наприклад, Автономні програми, веб-сайти, банківські програми тощо,
Архітектура та компоненти JDBC
Архітектура JDBC: Він підтримує два типи моделей обробки для доступу до БД.
Це:
- Дворівнева архітектура
- Трирівнева архітектура
# 1) Дворівнева архітектура:
Це допомагає додатку Java безпосередньо підключатися до бази даних. Для зв'язку з певною БД йому потрібен драйвер JDBC. Користувач надсилає запити до БД і отримує відповідь безпосередньо без посередника, крім драйвера JDBC. База даних на тій самій машині або на віддаленій машині підключена через мережу. Його можна назвати архітектурою клієнт-сервер.

# 2) Трирівнева архітектура:
Це протилежність дворівневій архітектурі. Немає прямого зв'язку між користувачем та базою даних. Користувач надсилає запит на середній рівень (Сервер додатків), з якого запит знову надсилається до бази даних. Потім база даних обробляє запит і відправляє результат на середній рівень, з якого користувач отримує результат / відповідь.
Це спрощує розгортання та управління. Директори Інформаційної системи управління (MIS) використовують цю архітектуру, оскільки вона спрощує підтримку контролю доступу та оновлення корпоративних даних.

Трирівнева архітектура
Компоненти JDBC
У JDBC є 4 основні компоненти. Вони є:
- API JDBC
- Менеджер драйверів JDBC
- JDBC Test Suite
- JDBC - міст ODBC
# 1) JDBC API: Він забезпечує доступ до реляційних баз даних з будь-якої програми Java. API JDBC має набір класів та інтерфейсів, написаних на Java, що забезпечує стандартний інструмент / API для розробників. Використовуючи JDBC API, ви можете створювати та виконувати SQL-запити, отримувати результат та вносити зміни до даних та зберігати результати назад у базі даних.
Він може взаємодіяти з багатьма базами даних, такими як Oracle, MySQL, MS Access, з однієї програми Java. За допомогою JDBC API не потрібно писати одну програму для доступу до Oracle DB, іншу програму для доступу до MySQL, іншу програму для доступу до MS Access тощо.
JDBC API є частиною Java Platform, яка має як Java Standard Edition (Java SE), так і Java Enterprise Edition (Java EE).
API JDBC 4.0 має 2 пакети.
- Java.sql
- Javax.sql
Обидва пакети доступні в Java SE та Java EE.
# 2) Менеджер драйверів JDBC: Традиційним рівнем управління JDBC є Driver Manager, який діє як інтерфейс між користувачем та драйверами. Він зберігає деталі відстеження доступних драйверів та встановлює зв’язок між базою даних та відповідним драйвером. Він визначає об'єкти, які можуть підключити додаток Java до драйвера JDBC. Таким чином, він є основою API JDBC.
Ми поговоримо про Менеджер драйверів у наступному уроці.
# 3) JDBC Test Suite: Це допомагає визначити, запускатимуть програму драйвери JDBC чи ні. Це забезпечує впевненість і відповідність того, що програму запускатимуть драйвери JDBC.
# 4) Мост JDBC- ODBC: Це використовує драйвери ODBC як драйвери JDBC. Це схоже на драйвер TYPE I, який вже описаний у розділі про типи драйверів у цьому посібнику.
Ключові моменти, на які слід звернути увагу:
- JDBC використовується для взаємодії з базою даних будь-якої програми Java, такої як програма Java, аплети, сервлети.
- Останньою версією JDBC є JDBC 4.3. Це стабільний випуск з 21вулВересня 2017 р.
- Водій типу I: Мост JDBC ODBC - простий у використанні, але ODBC залежить від платформи. Це також низькопродуктивний драйвер.
- Драйвер типу II: Вбудований API - Власна частина коду замінила частину ODBC у драйвері типу I і націлена на певний продукт бази даних. Це швидше, ніж драйвер типу I.
- Водій типу III: Середній рівень або Сервер додатків використовується як інтерфейс між драйвером JDBC та базою даних. Для ефективного його використання потрібні знання про сервер додатків.
- Водій типу IV: Драйвер JDBC негайно зв’язується з базою даних. Постачальники баз даних використовують цей тип драйвера та надають його клієнтам або розробникам.
- JDBC можна використовувати в будь-якій програмі, яка написана мовою Java.
Висновок
У цьому посібнику з JDBC ми дізналися про основи JDBC та необхідні передумови, перш ніж продовжувати роботу з JDBC. Ми бачили його версії та 4 типи драйверів, які допомагають розробникам вибрати тип драйвера, який використовуватиметься в програмах.
Ми також обговорили архітектуру JDBC та її 4 основні компоненти.
Рекомендована література
- JDBC DriverManager, JDBC PreparedStatement and Statement
- Підручник із селену ChromeDriver: Тести веб-драйверів на селен у Chrome
- Підручник з Java SWING: Контейнер, компоненти та обробка подій
- Підручник JAVA для початківців: 100+ практичних відео-підручників Java
- Data Driven Framework у Selenium WebDriver з використанням Apache POI
- Обробка iFrames за допомогою методу Selenium WebDriver switchTo ()
- Тестування доступності за допомогою веб-драйвера Selenium із прикладом коду
- Як запустити Selenium WebDriver у різних популярних браузерах