Въведение в JDBC архитектурата

Java Database Connectivity (JDBC) е API (интерфейс на приложната програма) или интерфейс, независим от платформата, който помага за свързване на Java програми с различни бази данни като Oracle, My SQL, MS Access и SQL Server. Той предоставя начини за заявка и актуализиране на базата данни с помощта на оператори за актуализиране на структуриран език за заявки (SQL) като CREATE, DELETE, INSERT и UPDATE и заявки за заявки като SELECT. Почти е подобен на ODBC (Open Database Connectivity), предоставен от Microsoft.

За да свържете програмата или приложението Java с базата данни, трябва да се следват пет стъпки:

1. Заредете драйвера: Драйверът помага да осъществи връзка с базата данни, следователно драйверът трябва да бъде зареден веднъж в програмата. Това може да стане по два метода:

  • Class.forName (): Използвайки това, файлът на класа на драйвера се зарежда в паметта по време на изпълнение. Не е необходимо да се създава нов обект. Например:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): Тук DriverManager е вграден Java клас, в който регистърът е негов статичен член. Използвайки това, конструкторът на класа драйвери се извиква по време на компилиране. В този нов обект е създаден. Например:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Създаване на връзки: След зареждането на драйвера, връзката се настройва. Обектът за връзка използва потребителско име, парола и URL адрес за настройка на връзката. URL адресът има предварително определен формат, който съдържа името на базата данни, използвания драйвер, IP адрес, където се съхранява базата данни, номер на порта и доставчика на услуги. Връзката може да се настрои с помощта на командата:

Connection con = DriverManager.getConnection(URL, user, password);

3. Създаване на изявление: След като установи връзката, потребителят може да взаимодейства с базата данни. Интерфейсите като JDBC оператор, PreparedStatement, CallableStatement предоставят методи, които позволяват на потребителя да изпраща SQL изявления и да получава данни от базата данни. Командата, използвана за създаване на оператор е;

Statement stmt = con.createStatement();

4. Изпълнение на заявка: SQL заявката се изпълнява за взаимодействие с базата данни. Въпросът може да бъде за актуализиране / вмъкване в базата данни или за извличане на данни. Интерфейсът на оператора предоставя два метода, т.е. метод ExecuteQuery () за изпълнение на заявки за извличане на данни, докато методът ExecuteUpdate () за изпълнение на заявки за актуализиране или вмъкване. Например:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Затваряне на връзка: След като извърши нашето запитване, потребителят на данни искаше да актуализира или извлече е направено, така че сега е време да затвори установената връзка. Интерфейсът за връзка предоставя метод close () за затваряне на връзката. Например:

con.close();

JDBC Архитектура

JDBC поддържа два типа модели за обработка за достъп до базата данни, т.е. двустепенна и тристепенна.

1. Двустепенна архитектура:

Тази архитектура помага на програмата или приложението на Java да комуникира директно с базата данни. Нужен е драйвер на JDBC, за да комуникира с конкретна база данни. Заявка или заявка се изпраща от потребителя до базата данни и резултатите се получават обратно от потребителя. Базата данни може да присъства на една и съща машина или на всяко отдалечено устройство, свързано чрез мрежа. Този подход се нарича архитектура или конфигурация клиент-сървър.

2. Тристепенна архитектура:

В това няма пряка комуникация. Заявките се изпращат до средния слой, т.е. HTML браузърът изпраща заявка до java приложение, което след това се изпраща допълнително до базата данни. Базата данни обработва заявката и изпраща резултата обратно в средния слой, който след това комуникира с потребителя. Той увеличава производителността и опростява разгръщането на приложението.

Компоненти на JDBC Architecture

  • Мениджър на драйвери: Това е клас, който съдържа списък на всички драйвери. Когато бъде получена заявка за връзка, тя съответства на заявката със съответния драйвер на базата данни, използвайки протокол, наречен комуникационен подпротокол. Драйверът, който съвпада, се използва за установяване на връзка.
  • Драйвер: Това е интерфейс, който контролира комуникацията със сървъра на базата данни. Обектите DriverManager се използват за осъществяване на комуникация.
  • Връзка: Това е интерфейс, който съдържа методи за връзка с база данни.
  • Изказване: Този интерфейс създава обект за изпращане на SQL заявки или изявления в базата данни.
  • ResultSet: Това съдържа резултатите, получени след изпълнението на SQL операторите или заявките.
  • SQLException: Всички грешки, които възникват в приложението на базата данни, се обработват от този клас.

Основната архитектурна схема на JDBC е показана по-долу с позиционирането на всички компоненти:

Интерфейси

Пакетът java.sql се състои от много интерфейси. Някои популярни интерфейси са споменати по-долу:

  • Интерфейс на драйвера: Този интерфейс позволява множество драйвери на базата данни. Обектите DriverManager са създадени да комуникират с базата данни. Тези обекти са създадени от DriverManager.registerDriver ();
  • Интерфейс за връзка: Интерфейсът за връзка установява връзката, т.е. сесия между java програма и базата данни. Той има много методи като откат (), затваряне () и т.н.
  • Интерфейс на оператора: Този интерфейс предоставя методи за изпълнение на SQL заявки. Той предоставя фабрични методи за получаване на ResultSet обект. Някои методи на интерфейса на оператора са ExecuteQuery (), ExecuteUpdate () и т.н.
  • Интерфейс на PreparedStatement: Този интерфейс помага, когато SQL заявките трябва да се реализират многократно. Той приема входни параметри по време на изпълнение.
  • CallableStatement Interface: Този интерфейс се използва, когато трябва да се имат достъп до съхраняваните процедури. Той също така приема параметри по време на изпълнение.
  • ResultSet интерфейс: Този интерфейс помага за съхраняване на резултатите, върнати след изпълнението на SQL заявки.

Видове драйвери на JDBC

Има четири типа драйвери на JDBC:

1. Тип драйвер тип 1 или мост JDBC-ODBC: Този драйвер действа като мост между JDBC и ODBC. Той преобразува JDBC повиквания в ODBC повиквания и след това изпраща заявката до ODBC драйвер. Лесна е за употреба, но времето за изпълнение е бавно.

2. Тип-2 драйвер или Native API, частично Java драйвер: Този драйвер използва JNI (Java Native Interface) разговор за специфичния за базата данни клиентски API. Той е сравнително по-бърз от драйвер тип 1, но изисква родна библиотека и цената на приложение също се увеличава.

3. Driver или драйвер за мрежов протокол от тип 3: Тези драйвери комуникират със сървър на JDBC за междинен софтуер, използвайки протокол за собствена мрежа. Този междинен софтуер превежда мрежовия протокол към конкретни повиквания в базата данни. Те са независими от база данни. Те могат да преминат от една база данни в друга, но са бавни поради много мрежови повиквания.

4. Тип-4 или тънък драйвер: Този драйвер се нарича също чист драйвер на Java, тъй като директно взаимодействат с базата данни. Той не изисква нито родна библиотека, нито сървър за междинен софтуер. Той има по-добра производителност от другите драйвери, но сравнително бавен поради увеличаване на броя на мрежовите повиквания.

заключение

Тази статия уточнява JDBC архитектурата, нейните интерфейси и типове драйвери, които комуникират или взаимодействат с базата данни.

Сега във всеки сектор се поддържат дневни бази данни, поради което се актуализират и извличат данни от тях. Така че разбирането на архитектурата би помогнало да се разберат основните концепции на JDBC.

Препоръчителни статии

Това е ръководство за JDBC Architecture. Тук обсъдихме типовете драйвери, интерфейси и компоненти на JDBC Architecture. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Как да инсталирате Java 8?
  2. Въпроси за интервю на JDBC
  3. Как да инсталирате Apache?