Sunteți pe pagina 1din 12

1

Conectarea unei aplicaŃii Java la un server de baze de date

Conectarea unei aplicaŃii Java la un server de baze de date presupune


copierea într-un director a unui driver JDBC (Java Database Connectivity) specific
serverului de baze de date care urmează să fie accesat.
În cele ce urmează se va presupune că s-a instalat şi lansat în execuŃie
serverul de baze de date MysSQL. Acesta poate fi descărcat prin Internet sub forma
pachetului de aplicaŃii destinat dezvoltării de site-uri web xamplite, care conŃine
printre altele serverul de web Apache şi serverul de baze de date MySQL.

Pentru pornirea serverului MySQL se lansează în execuŃie mysql_start.bat din


directorul xamplite.

Fereastra afişată în urma lansării în execuŃie a serverului MySQL nu trebuie


închisă pe toată durata rulării aplicaŃiilor care vor accesa serverul deoarece la
închiderea ei este oprit şi procesul mysqld.exe specific serverului MySQL.
2

Pentru a realiza o aplicaŃie în Java care accesează serverul MySQL trebuie


realizate următoarele adaptări:
• Se descarcă MySQL Connector/J de la adresa :
http://dev.mysql.com/downloads/connector/j/5.0.html.
Acesta este driverul JDBC oficial pentru MySQL. Se dezarhivează fişierul
descărcat şi din directorul rezultat se copiază arhiva mysql-connector-java-5.0.6-
bin.jar într-un director care va fi referit ulterior, la crearea aplicaŃiei. O soluŃie bună
este plasarea fişierului mysql-connector-java-5.0.6-bin.jar în directorul
xamplite/mysql sau în directorul aplicaŃiei curente.
• Se crează proiectul noii aplicaŃii şi se adaugă acestuia calea spre arhiva
mysql-connector-java-5.0.6-bin.jar folosind intrarea Libraries a arborelui
structural al proiectului :

Rezultat:
3

În continuare se poate scrie aplicaŃia. Accesul la tabelele bazei de date


presupune în principiu următorii paşi:
a. Se încarcă driverul JDBC necesar comunicaŃiei cu serverul MySQL
folosind apelul:
Class.forName("com.mysql.jdbc.Driver");
b. Se crează o conexiune (obiect din clasa Connection) folosind metoda
statică getConnection() din clasa DriverManager:
con = DriverManager.getConnection("jdbc:mysql//localhost/baza_date", "user", "password");

c. Se crează un obiect Statement folosind obiectul din clasa Connection creat


la pasul anterior.
cda = con.createStatement();
d. Se crează o frază SQL (obiect din clasa String)
e. Se crează un obiect din clasa ResultSet prin apelul metodei
executeQuery() sau se apelează metoda executeUpdate() din clasa Statement
folosind ca argument fraza SQL creată în pasul precedent. Prima metodă este
apelată pentru comenzile SELECT iar a doua pentru comenzi ca INSERT, UPDATE
sau DELETE.
ResultSet rs = stmt.executeQuery(fraza_SQL);
f. Dacă s-a trimis serverului o comandă SELECT se transferă datele din
rezultat (ResultSet) în controalele windows corespunzătoare: JTextField,
JComboBox, JTable sau JList.

Exemplu fundamental:
Să se realizeze o aplicaŃie care permite introducerea într-o bază de date a
raselor de câini.
4

1. Se lansează în execuŃie xampplite şi se crează baza de date rase :

2. În baza de date creată se adaugă tabelele :


a. Tabelul tari :

b. Tabelul talie :
5

c. Tabelul scop :

d. Tabelul caine :

Pentru testarea aplicaŃiei se vor adăuga înregistrări în primele 3 tabele create.


Aceste tabele vor servi la crearea listelor unor controale din clasa JComboBox.

3. Se porneşte NetBeans, se realizează un nou proiect (RaseCaini de tip


General / Java Application) şi se realizează adaptările legate de conexiunea la
serverul MySQL.
6

4. Se adaugă proiectului un fişier conŃinând clasa principală raseCaini


derivată din JFrame :
7

5. Clasei principale i se adaugă două variabile, conect din clasa


java.sql.Connection şi stm din clasa java.sql.Statement :

6. Se crează interfata aplicaŃiei. Pentru introducerea datelor, aceasta


cuprinde controalele de tip JComboBox comboTara, comboTalia, comboDestinatia şi
controlul nume din clasa JtextField.
8

comboTara

comboTalia

comboDestinatia

nume

jButton1 jButton2

7. Se editeză constructorul clasei raseCaini pentru a realiza iniŃializarea


tuturor variabilelor clasei.

Pentru scrierea corectă a structurilor try-catch se va scrie conŃinutul blocului


try şi se va creea structura folosind opŃiunea corespunzătoare din meniul contextual.
Exemplu :
9

8. Se adauga proiectului metodele destinate populării controalelor de tip


JComboBox . iniComboTara(), iniComboTalia(), şi iniComboDest().

a. iniComboTara() :
10

b. iniComboTalia() :

c. iniComboDest() :

9. Se adauga proiectului metodele declanşate la apăsarea butoanelor.


a. Butonul Înregistrează
11

b. Butonul Abandon

Executarea aplicaŃiei

AplicaŃiile din exemplele prezentate au fost lansate în execuŃie exclusiv din


mediul de programare NetBeans. În procesul de construire a proiectului (Build /
Build Main Project) mediul de programare crează în directorul \dist un fişier
executabil.

dublu clic
12

Acesta poate fi lansat în execuŃie ca orice aplicaŃie Windows, din Windows


Explorer, cu un dublu clic. Dacă lansarea în execuŃie trebuie realizată dintr-o
fereastră Command, se va introduce comanda:

S-ar putea să vă placă și