JDBC (Java Database Connectivity)




Este o interfata API oferita de JAVA pentru a permite accesul la baze de date, astfel incat programele JAVA pot sa interactioneze cu o baze de date SQL. Aceasta ofera posibilitate programelor Java sa execute statement-uri SQL. Deoarece toate sistemele de management a bazelor de date( DBMS) suporta SQL si deoarece Java insasi ruleaza pe aproape toate pratformele, JDBC face posibila scrierea unei singure aplicati de baze de date care sa ruleze pe diferite platforme si sa interactioneze cu diferite DBMS -uri.
JDBC introduce un layer de mijloc, numit driver de baze de date, intre aplicatie si DBMS. Rolul acestui layer este acela de a translata "querie-urile" aplicatiilor in comenzii pe care DBMS-urile le inteleg.
JDBC este similar cu ODBC (Open DataBase Connectivity), dar este destinat special pentru programele java, pe cand ODBC este un limbaj independent.

Web browser Nivel de prezentare




Web server Interfata JSP
Obiecte orientate spre IU
Obiecte orientate spre date



Server de baze de date Nivel de date





Primul pas pentru realizarea legaturii dintre aplicatie si baza de date este stabilirea conexiunii. Aceasta implica doi pasi:
- incarcarea driverului
- realizarea conexiunii

Incarcarea driverului

Inaintea incarcarii driverului acesta trebuie instalat pe hostul pe care dorim sa lucram, acest lucru se realizeaza doar prin copierea acestuia fara sa fie nevoie de nici o configurare .
Incarcarea driverului sau a driverelor pe care dorim sa le folosim este foarte simpla si implica doar o linie de cod:
Class.forName(\"jdbc.DriverXYZ\");
-unde jdbc.DriverXYZ este numele clasei care trebuie incarcat.

Realizarea conexiunii

Al doilea pas in stabilirea conexiunii este acela de realizarea a conexiunii, lucru care se poate face numai daca exista un driver corespunzator:
Connection con = DriverManager.getConnection(url,
\"myLogin\", \"myPassword\");

Cel mai important parametru este url. In functie de tipul driverului folosit sau in functie de tipul serverului de baze de date pot sa existe mai multe variante.
Daca folosim driver de bridge JDBC-ODBC se va folosi
jdbc:odbc://localhost/nume_baza_de_date
iar daca se foloseste un driver realizat de un alt dezvoltator , documentatia aferenta va preciza url care trebuie furnizat.
Conexiunea returnata de metoda DriverManager.getConnection este o conexiune deschisa care poate fi folosita pentru crearea de statementuri JDBC care transmit statementurile SQL catre DBMS.

Crearea de "statementuri" JDBC

Un obiect "statement" este ceea ce trimite statementul SQL catre DBMS. Trebuie creat
un astfel de obiect si apoi executat, punand la dispozitie metoda adecvata
Statement stmt = con.createStatement();
stmt.executeUpdate(\"INSERT INTO .... VALUES (.....)\");

Pentru fiecare tip de server in parte exista propriul driver, impreuna cu documentatia aferenta, care specifica anumite informatii care trebuie luate in calcul ( exemplu paramentu url). In ceea ce priveste realizarea conexiunii si a transmiterii de informatie pasii se parcurg la fel.