java jdbc tutorial what is jdbc
Започвайки с основите, този урок за JDBC обяснява компоненти, архитектура и типове драйвери в Java Database Connectivity (JDBC):
Този урок обяснява какво е JDBC, неговите версии, издадени досега, какви са необходимите предпоставки, преди да продължите с JDBC, типове драйвери и др. В края на този урок ще знаете основите на Java Database Connectivity или JDBC и къде можем ли да го използваме.
Нека започнем този урок с основите на JDBC.
Какво ще научите:
Списък с Java JDBC уроци
Урок # 1: Какво е JDBC (Java Database Connectivity) (Този урок)
Урок # 2: Урок за свързване на Java JDBC с пример за програмиране
Урок № 3: JDBC DriverManager, JDBC PreparedStatement and Statement
Урок № 4: JDBC ResultSet: Как да използвам Java ResultSet за извличане на данни
Урок № 5: Управление на транзакции на Java JDBC с пример
Урок № 6: Обработка на изключения JDBC - Как да се справя с SQL изключенията
Урок # 7: Урок за групова обработка на JDBC и съхранена процедура
Урок № 8: Топ 25+ JDBC интервюта и отговори
Какво е JDBC
В повечето приложения на Java винаги има нужда от взаимодействие с бази данни за извличане, манипулиране и обработка на данните. За тази цел е въведен Java JDBC.
JDBC е често използваната кратка форма за Java Database Connectivity. Използвайки JDBC, можем да взаимодействаме с различни видове релационни бази данни като Oracle, MySQL, MS Access и др.
Преди JDBC беше въведен ODBC API за свързване и извършване на операции с базата данни. 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.
две. Трябва да имате подходящи JDBC файлове с драйвери за свързване със СУБД. Всяка база данни има различни JDBC файлове на Jar драйвер.
Можете да изтеглите тези файлове за конкретната база данни, като използвате връзките в следната таблица:
База данни с връзка за изтегляне | Име на доставчика на JDBC драйвер | Име на файла JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-конектор-java-VERSION.jar |
Oracle | Oracle Corporation | 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 действат като интерфейс между клиент и DB сървър. Когато потребител използва Java приложение за изпращане на заявки към базата данни с помощта на JDBC - ODBC Bridge, той първо преобразува JDBC API в ODBC API и след това го изпраща към базата данни. Когато резултатът се получи от DB, той се изпраща към ODBC API и след това към JDBC API.
Този драйвер зависи от платформата, защото използва ODBC, който зависи от собствената библиотека на операционната система. При този тип JDBC - ODBC драйверът трябва да бъде инсталиран във всяка клиентска система и базата данни трябва да поддържа ODBC драйвер.
Когато няма значение за инсталацията в клиентската машина, можем да използваме този драйвер. Той е лесен за използване, но дава ниска производителност поради преобразуването на извикванията на метода JDBC към извикванията на метода ODBC.
Забележка: Предлага се в JDK 1.2
Java 8 не поддържа този тип драйвери. Oracle препоръчва на потребителя да използва драйверите JDBC, предоставени от техните доставчици на бази данни.
Фигура: Тип I: JDBC - ODBC Bridge Driver
Тип II: Native API - Частично Java Driver
Той е подобен на Тип I Driver. Тук частта ODBC се заменя с собствен код в драйвер тип II. Тази част от кода е насочена към конкретен продукт на базата данни. Той използва библиотеките на клиентската страна на базата данни. Този драйвер преобразува повикванията на метода JDBC в естествени повиквания на собствения API на базата данни.
Когато базата данни получи заявките от потребителя, заявките се обработват и изпращат обратно с резултатите в естествения формат, които трябва да бъдат преобразувани във формат JDBC и да бъдат предоставени на приложението Java.
Той беше незабавно приет от доставчиците на DB, защото беше бърз и евтин за изпълнение. Също така е в естествения формат на DB.
Този тип драйвер дава по-бърза реакция и производителност от драйвера от тип I.
Фигура: Тип II: Роден APT - Частично Java драйвер
Тип III: Мрежов протокол
Драйверът от тип III е изцяло написан на Java. Това е като тристепенен подход за достъп до базата данни. Той изпраща извикванията на метода JDBC към междинен сървър. От името на JDBC междинният сървър комуникира с базата данни. Сървърът на приложения (междинен или среден) преобразува JDBC повикванията директно или индиректно в специфичния за доставчика протокол за база данни.
Този подход не повишава ефективността на архитектурата и освен това е скъп, поради това повечето доставчици на бази данни не предпочитат този драйвер. Тъй като се използва сървърът на приложения, трябва да имате добри познания за сървъра за приложения, за да използвате ефективно този подход.
Фигура: Тип III: Мрежов протокол - Напълно Java драйвер
Тип IV: Тънък драйвер
Драйверът от тип IV е директно реализиран, който преобразува JDBC повиквания директно в специфичен за доставчика протокол за база данни. Днес повечето JDBC драйвери са драйвери от тип IV. Написана е изцяло на Java и по този начин е независима от платформата. Той е инсталиран в JVM (Java Virtual Machine) на клиента, така че не е необходимо да инсталирате никакъв софтуер на клиента или на сървъра. Тази архитектура на драйвера има цялата логика да комуникира директно с DB в един драйвер.
Той осигурява по-добра производителност от другия тип драйвери. Това позволява лесно разполагане. В днешно време този тип драйвер е разработен от самия доставчик на база данни, така че програмистите да могат да го използват директно, без зависимост от други източници.
Фигура: Тип IV: Тънък драйвер - Напълно Java драйвер
Приложения на JDBC
JDBC може да се използва в Java приложения, аплети, сървлети или всякакви други Java програми, където искате да се свържете с DB.
Например, Самостоятелни приложения, уебсайтове, банкови приложения и др.,
Архитектура и компоненти на JDBC
Архитектура на JDBC: Той поддържа два типа модели за обработка за достъп до DB.
Това са:
- Двустепенна архитектура
- Тристепенна архитектура
# 1) Двустепенна архитектура:
Той помага на Java приложението да се свързва директно с базата данни. Той се нуждае от JDBC драйвер за комуникация с определена DB. Потребителят изпраща заявките до DB и получава отговора директно без посредник, освен JDBC Driver. Базата данни, в същата машина или на отдалечена машина, е свързана чрез мрежа. Може да се нарече архитектура клиент-сървър.
# 2) Архитектура на три нива:
Това е обратното на двустепенната архитектура. Няма пряка комуникация между потребителя и базата данни. Потребителят изпраща заявката до средния слой (сървър на приложения), от който заявката отново се изпраща до базата данни. След това базата данни обработва заявката и изпраща резултата до средния слой, от който потребителят получава резултата / отговора.
Опростява внедряването и управлението. Директорите на Информационната система за управление (MIS) използват тази архитектура, тъй като улеснява поддържането на контрола на достъпа и актуализациите на корпоративните данни.
Тристепенна архитектура
Компоненти на JDBC
Налични са 4 основни компонента в JDBC. Те са:
- JDBC API
- JDBC Driver Manager
- JDBC тестов пакет
- JDBC - ODBC мост
# 1) JDBC API: Той осигурява достъп до релационни бази данни от всяка програма на Java. JDBC API има набор от класове и интерфейси, които са написани на 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 Driver Manager: Традиционният управленски слой на JDBC е Driver Manager и той действа като интерфейс между потребителя и драйверите. Той поддържа подробности за проследяване на наличните драйвери и установява връзка между базата данни и съответния драйвер. Той определя обектите, които могат да свържат приложението Java с JDBC драйвер. По този начин той е гръбнакът на JDBC API.
Ще обсъдим Driver Manager в следващия урок.
# 3) JDBC Test Suite: Помага да се установи дали JDBC драйверите ще стартират програмата или не. Той осигурява увереност и съответствие, че програмата ще се изпълнява от JDBC Drivers.
# 4) JDBC- ODBC мост: Това използва ODBC драйвери като JDBC драйвери. Той е подобен на драйвера от TYPE I, който вече е описан в раздела за типовете драйвери в този урок.
Основни моменти, които трябва да се отбележат:
- JDBC се използва за взаимодействие с базата данни от всяка Java програма като Java приложение, аплети, сървлети.
- Последната версия на JDBC е JDBC 4.3. Тя е стабилна версия от 21улСептември 2017.
- Шофьор от тип I: JDBC ODBC Bridge - лесен за използване, но ODBC зависи от платформата. Освен това е драйвер с ниска производителност.
- Драйвер от тип II: Native API - Родната кодова част замества ODBC частта в драйвер от тип I и е насочена към конкретен продукт на базата данни. Той е по-бърз от драйвер тип I.
- Шофьор от тип III: Middle Tier или Application Server се използва като интерфейс между JDBC драйвер и база данни. За ефективното му използване са необходими познания за Application Server.
- Шофьор от тип IV: JDBC Driver веднага комуникира с базата данни. Доставчиците на бази данни използват този тип драйвер и го предоставят на клиенти или разработчици.
- JDBC може да се използва във всяка програма, която е написана на език Java.
Заключение
В този урок за JDBC научихме за основите на JDBC и необходимите предпоставки, преди да продължим с JDBC. Видяхме неговите версии и 4 типа драйвери, които помагат на разработчиците да решат какъв тип драйвер да се използва в програмите.
Също така обсъдихме архитектурата на JDBC и нейните 4 основни компонента.
Препоръчително четене
- JDBC DriverManager, JDBC PreparedStatement and Statement
- Урок за ChromeDriver Selenium: Тестове за Selenium Webdriver в Chrome
- Java SWING Урок: Контейнер, компоненти и обработка на събития
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- Управлявана от данни рамка в Selenium WebDriver, използваща Apache POI
- Работа с iFrames с помощта на метод Selenium WebDriver switchTo ()
- Тестване на достъпността със Selenium Webdriver с пример за код
- Как да стартирам Selenium WebDriver в различни популярни браузъри