Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
JDBC (Java DataBase Connectivity) este o interfața standard SQL de acces la baze de date. Acesta furnizeaza un acces uniform la baze de date relaționale. JDBC este constituit dintr-un set de clase și interfețe scrise in Java, furnizand un API standard pentru proiectanții de aplicații baze de date. Acest lucru face posibila scrierea aplicațiilor de baze de date folosind un API Java pur.
Folosind JDBC este ușor sa transmitem secvențe SQL catre baze de date relaționale. Nu este necesar sa scriem un program pentru a accesa o baza de date Oracle, alt program pentru a accesa o baza de date Sybase , este de ajuns sa scriem un singur program folosind API-ul JDBC, acesta fiind capabil sa trimita secvențe SQL bazei de date dorite. Codul sursa scris in Java, asigura portabilitatea programului. Este suficienta scrierea unui program o data și acesta ruleaza peste tot.
Java este un limbaj foarte bun pentru a dezvolta aplicații de baze de date, iar JDBC-ul ofera mecanismul prin care aplicațiile Java pot comunica cu bazele de date.
JDBC realizeaza urmatoarele:
Procesul de conectare la o baza de date implica doua operații:
1. incarcarea in memorie a unui driver corespunzator
2. realizarea unei conexiuni propriu-zise
O conexiune (sesiune) la o baza de date reprezinta un context prin care sunt trimise secvențe SQL si primite rezultate. Intr-o aplicație pot exista mai multe conexiuni simultan la baze de date diferite sau la aceeași baza.
Clasele si interfețele responsabile cu realizarea unei conexiuni sunt:
clasa DriverManager - se ocupa cu inregistrarea driverelor ce vor fi folosite in aplicație
interfața Driver - pe care trebuie sa o implementeze orice clasa ce descrie un driver
clasa DriverPropertyInfo
interfața Connection, descrie obiectele ce modeleaza o conexiune propriu-zisa cu baza de date
In procesul de conectare la o baza de date aplicația trebuie sa incarce in memorie clasa ce implementeaza driver-ul necesar comunicarii cu baza de date. Acesta se realizeaza prin mai multe modalitati:
DriverManager.registerDriver(newsun.jdbc.odbc.JdbcOdbcDriver());
Class.forName('sun.jdbc.odbc.JdbcOdbcDriver');
System.setProperty('jdbc.drivers',
'sun.jdbc.odbc.JdbcOdbcDriver');
java -Djdbc.drivers=sun.jdbc.odbc.JdbcOdbcDriver
Dupa ce un driver JDBC a fost incarcat in memorie cu DriverManager, acesta poate fi folosit la stabilirea unei conexiuni cu o baza de date. Pot exista mai multe drivere inregistrate in memorie, deci trebuie specificat pe langa identificatorul bazei de date ș și driverul ce trebuie folosit, prin intermediul unei adrese specifice, numita JDBC URL:
jdbc:sub-protocol:identificator_baza_de_date
Campul sub-protocol denumește tipul de driver ce trebuie folosit pentru realizarea conexiunii si poate fi odbc, oracle, sybase, db2 etc. Identificatorul bazei de date este un indicator specific fiecarui driver care specifica baza de date cu care aplicația dorește sa interacționeze. Acest identificator poate include numele unei mașini gazda, un numar de port, numele unui fișier sau al unui director, etc.
jdbc:odbc:testdb
jdbc:oracle:thin@persistentjava.com:1521:testdb
jdbc:sybase:testdb
jdbc:db2:testdb
La primirea unui JDBC URL, DriverManager-ul va parcurge lista driver-elor inregistrate in memorie, pana cand unul dintre ele va recunoaște URL-ul respectiv. Daca nu exista nici unul potrivit, atunci va lansa o excepție de tipul SQLException, cu mesajul no suitable driver.
Pentru realizarea unei conexiuni este utilizata metoda getConnection din clasa DriverManager si poate avea mai multe forme:
Connection c = DriverManager.getConnection(url);
Connection c = DriverManager.getConnection(url, username, password);
Connection c = DriverManager.getConnection(url, dbproperies);
O conexiune va fi folosita pentru:
crearea de secvențe SQL ce vor fi folosite pentru interogarea sau actualizarea bazei
aflarea unor informații legate de baza de date (meta-date)
Clasa Connection asigura suport pentru controlul tranzacțiilor din memorie catre baza de date prin metodele commit, rollback, setAutoCommit .
Dupa conectarea cu DriverManager.getConection(), se poate folosi obiectul
Connection rezultat pentru a se crea un obiect de tip Statements, cu ajutorul caruia se pot trimite secvențe SQL catre baza de date. Cele mai uzuale comenzi SQL sunt cele folosite pentru:
interogarea bazei de date (SELECT)
actualizarea bazei de date (INSERT, UPDATE, DELETE)
Metoda executeQuery trimite interogari SQL catre baza de date și primește raspuns intr-un obiect de tip ResultSet.
Competenta: Formateaza elementele de conținut ale sistemului cu ajutorul software-lui specific
Obiectivul/obiective vizate:
La sfarșitul acestei activitați vei fi capabil sa:
Identifici interfețe de acces la baze de date
Utilizezi interfețe de acces la baze de date
Durata: 30 minute
Tipul activitatii: Diagrama paianjen
Sugestii:
elevii se pot organiza in grupe mici (2 - 3 elevi) sau pot lucra individual
Sarcina de lucru: Folosind surse diferite (internet, manual, reviste de specialitate, caietul de notițe etc) obțineți informații despre interfețe la baze de date și organizați-le dupa modelul urmator.
Competenta: Formateaza elementele de conținut ale sistemului cu ajutorul software-lui specific
Obiectivul/obiective vizate:
La sfarșitul acestei activitați vei fi capabil sa:
Identifici drivere de acces la baze de date
Utilizezi drivere de acces la baze de date
Durata: 30 minute
Tipul activitatii: Joc de testare a cunoștințelor
Sugestii:
elevii se pot organiza in grupe mici (2 - 3 elevi) sau pot lucra individual
Sarcina de lucru: Folosind surse diferite (internet, manual, reviste de specialitate, caietul de notițe etc) obțineți informații despre drivere de acces la baze de date . Formulati cate cinci intrebari, precum si raspunsurile pentru ele. Scrieti intrebarile pe cartonase si schimbati cartonasele cu alta grupa. Raspundeti la intrebarile primite si dati-le spre verificare grupei care le-a formulat.
Copyright © 2024 - Toate drepturile rezervate