Introducere în JDBC Architecture

Conectivitatea bazelor de date Java (JDBC) este o API (interfață de program de aplicație) sau o interfață independentă de platformă care ajută la conectarea programelor java cu diverse baze de date, cum ar fi Oracle, SQL, MS Access și SQL Server. Oferă modalități de interogare și actualizare a bazei de date folosind instrucțiuni de actualizare a limbii structurate de interogare (SQL) precum CREATE, DELETE, INSERT și UPDATE și declarații de interogare precum SELECT. Este aproape similar cu ODBC (Open Database Connectivity) furnizat de Microsoft.

Pentru a conecta programul sau aplicația Java cu baza de date, trebuie urmați cinci pași:

1. Încărcați driverul: șoferul ajută la conectarea la baza de date, prin urmare driverul trebuie să fie încărcat o dată în program. Acest lucru se poate face prin două metode:

  • Class.forName (): Utilizând acest lucru, fișierul clasei de driver este încărcat în memorie în timpul rulării. Nu este necesară crearea unui obiect nou. De exemplu:

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

  • DriverManager.registerDriver (): Aici DriverManager este o clasă Java încorporată în care registrul este membru static. Utilizând acest lucru, constructorul clasei de șoferi este chemat în timpul compilării. În acest obiect nou este creat. De exemplu:

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

2. Crearea conexiunilor: după ce driverul este încărcat, conexiunea este configurată. Obiectul de conectare folosește numele de utilizator, parola și adresa URL pentru a configura conexiunea. URL are un format predefinit care conține numele bazei de date, driverul utilizat, adresa IP în care este stocată baza de date, numărul de port și furnizorul de servicii. Conexiunea poate fi configurată folosind comanda:

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

3. Crearea declarației: după stabilirea conexiunii, utilizatorul poate interacționa cu baza de date. Interfețele precum JDBC statement, PreparedStatement, CallableStatement oferă metode care permit unui utilizator să trimită instrucțiuni SQL și să obțină date din baza de date. Comanda folosită pentru a crea instrucțiunea este;

Statement stmt = con.createStatement();

4. Executarea interogării: interogarea SQL este executată pentru a interacționa cu baza de date. O interogare poate fi pentru actualizarea / inserarea în baza de date sau pentru preluarea datelor. Interfața de declarații oferă două metode, adică metoda executeQuery () pentru a executa interogări pentru preluarea datelor în timp ce metoda executeUpdate () pentru a executa interogări pentru actualizare sau inserare. De exemplu:

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

5. Închiderea conexiunii: După executarea interogării noastre, utilizatorul de date a dorit să actualizeze sau să recupereze s-a făcut, acum este timpul să închidem conexiunea stabilită. Interfața de conexiune oferă o metodă close () pentru a închide conexiunea. De exemplu:

con.close();

JDBC Architecture

JDBC acceptă două tipuri de modele de procesare pentru accesarea bazei de date, adică pe două niveluri și trei niveluri.

1. Arhitectură pe două niveluri:

Această arhitectură ajută programul sau aplicația Java să comunice direct cu baza de date. Are nevoie de un driver JDBC pentru a comunica cu o bază de date specifică. Solicitarea sau solicitarea este trimisă de utilizator către baza de date, iar rezultatele sunt primite de către utilizator. Baza de date poate fi prezentă pe aceeași mașină sau pe orice mașină la distanță conectată printr-o rețea. Această abordare se numește arhitectură sau configurație client-server.

2. Arhitectură pe trei niveluri:

În acest sens, nu există o comunicare directă. Cererile sunt trimise către nivelul intermediar, adică browserul HTML trimite o cerere către aplicația java, care este apoi trimisă în baza de date. Baza de date procesează solicitarea și trimite rezultatul înapoi la nivelul intermediar, care apoi comunică cu utilizatorul. Crește performanța și simplifică implementarea aplicațiilor.

Componente ale JDBC Architecture

  • Driver Manager: Este o clasă care conține o listă cu toți driverele. Atunci când se primește o cerere de conectare, aceasta se potrivește solicitării cu driverul de bază de date adecvat folosind un protocol numit sub-protocol de comunicare. Driverul care se potrivește este utilizat pentru a stabili o conexiune.
  • Driver: Este o interfață care controlează comunicarea cu serverul de baze de date. Obiectele DriverManager sunt utilizate pentru a efectua comunicarea.
  • Conexiune: Este o interfață care conține metode pentru a contacta o bază de date.
  • Declarație: Această interfață creează un obiect pentru a trimite interogări SQL sau declarații în baza de date.
  • ResultSet: Acesta conține rezultatele preluate după executarea instrucțiunilor sau a interogărilor SQL.
  • SQLException: Orice erori care apar în aplicația bazei de date sunt gestionate de această clasă.

Diagrama arhitecturală JDBC de bază este prezentată mai jos cu poziționarea tuturor componentelor:

interfeţe

Pachetul java.sql este format din mai multe interfețe. Câteva interfețe populare sunt menționate mai jos:

  • Interfața driverului: Această interfață permite mai multe drivere de bază de date. Obiectele DriverManager sunt create pentru a comunica cu baza de date. Aceste obiecte sunt create de DriverManager.registerDriver ();
  • Interfață de conectare: Interfața de conexiune stabilește conexiunea, adică sesiunea dintre programul java și baza de date. Are multe metode precum rollback (), închidere () etc.
  • Interfață de declarație: Această interfață oferă metode pentru executarea interogărilor SQL. Oferă metode din fabrică pentru a obține un obiect ResultSet. Unele metode de interfață de instrucțiuni sunt executeQuery (), executeUpdate () etc.
  • Interfață PreparedStatement: Această interfață ajută atunci când interogările SQL trebuie să fie implementate de mai multe ori. Accepta parametrii de intrare în timpul rulării.
  • CallableStatement Interface: Această interfață este utilizată atunci când trebuie accesate procedurile stocate. De asemenea, acceptă parametrii în timpul rulării.
  • ResultSet Interface: Această interfață ajută la stocarea rezultatului returnat după executarea interogărilor SQL.

Tipuri de drivere JDBC

Există patru tipuri de drivere JDBC:

1. Driverul de tip 1 sau Podul JDBC-ODBC: Acest driver acționează ca o punte de legătură între JDBC și ODBC. Convertește apelurile JDBC în apeluri ODBC și apoi trimite solicitarea către driverul ODBC. Este ușor de utilizat, dar timpul de execuție este lent.

2. Driver de tip 2 sau API nativă Parțial Java Driver: Acest driver utilizează apelul JNI (interfață nativă Java) pe API-ul clientului nativ specific bazei de date. Este relativ mai rapid decât driverul de tip 1, dar necesită o bibliotecă autohtonă și costul aplicației crește.

3. Driver de tip 3 sau Driver de protocol de rețea: Acești drivere comunică serverului intermediar JDBC folosind protocolul de rețea proprietar. Acest middleware traduce protocolul de rețea la apeluri specifice bazei de date. Sunt independente de baza de date. Acestea pot trece de la o bază de date la alta, dar sunt lente din cauza multor apeluri de rețea.

4. Driver tip 4 sau subțire: acest driver este, de asemenea, numit driver Java pur, deoarece interacționează direct cu baza de date. Nu necesită nici o bibliotecă nativă și nici un server de middleware. Are performanțe mai bune decât alți drivere, dar relativ lent datorită creșterii unui număr de apeluri în rețea.

Concluzie

Acest articol specifică arhitectura JDBC, interfețele sale și tipurile de drivere pentru a comunica sau interacționa cu baza de date.

Acum se păstrează bazele de date de o zi în fiecare sector, de aceea este necesară actualizarea acestora și preluarea datelor din acestea. Așadar, înțelegerea arhitecturii ar ajuta la înțelegerea conceptelor de bază ale JDBC.

Articole recomandate

Acesta a fost un ghid pentru JDBC Architecture. Aici am discutat tipurile de drivere, interfețe și componente ale JDBC Architecture. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Cum se instalează Java 8?
  2. Întrebări la interviu JDBC
  3. Cum se instalează Apache?