Issuu on Google+

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.6bin.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(), Ĺ&#x;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:


Proiect bd