Sunteți pe pagina 1din 8

BIBLIOTECA

Aplicatia Biblioteca este un sistem electronic de inregistrarea, imprumutul si eviden 626i81g ta cartilor dintr-o
biblioteca.
Pentru implementarea acestei aplicatii s-au folosit urmatoarele tehnologii : limbajul de programare Java, Swing
pentru realizarea interfetei grafice si ca sistem de gestiune a bazelor de date MySQL.
Interfata principala a aplicatiei este cea din imagine :

Fiecarui buton ii corespunde cate o functionalitate. Exista si butoane care nu realizeaza direct o functionalitate, ci
indirect, precum "Cautari" si "Evidenta".
Apasand butonul "Cautari" vom deschide fereastra de criterii de cautare a unei carti :

In cazul butonului "Evidenta", se va deschide fereastra cu actiuni specifice evidentei cartilor :

Aplicatia realizeaza interogari de baza asupra bazei de date : inregistrari, actualizari, interogari si stergeri.

Structura aplicatiei
Aplicatia este structurata pe pachete, dupa cum urmeaza :
-

pachetul pentru lucrul cu baza de date :

com.biblioteca.db
|-- Adaptor
|-- GenTableModel
|-- Inregistrari
|-- Operatii
|-- Stergeri
|-- Update
-

pachetul ce contine interfetele grafice ale aplicatiei :


com.biblioteca.gui
|-- Biblioteca
|-- CautaCarte
|-- CautaEdituraAn
|-- CautaTitluEditura
|-- CriteriiCautari
|-- Evidenta
|-- Imprumut
|-- ImprumutDetalii
|-- Inregistrare
|-- StergeCarte
|-- TotalCartiImprumutate
|-- UpdateCarte

pachetul ce contine clase cu metode utile, folosite in toata aplicatia :


com.biblioteca.util
|-- BibUtilities
|-- DateIncomplete
|-- ExcesCartiImprumutate

Structura bazei de date

Tabela carti :
#cartiID - integer
titlu - char
autor - char
domeniu - char
Tabela carti_imprumutate
#cimpID - integer
carte_id - integer
imprumut_id - integer
imprumut - char
Tabela editura
#edituraID - integer
editura - char
anAparitie - integer
carte_id - integer
Tabela imprumut
#imprumutID - integer
nume - char
prenume - char
telefon - integer
carte_id - integer
Functionalitatea aplicatiei
Se deschide fereastra Biblioteca.
Avem 5 butoane: Inregistrari, Imprumut, Cautari, Evidenta, si Iesire aplicatie.
Introducem datele: apasam butonul Inregistrari si introducem titlul, autorul si editura cartii. Apoi informatiile
editarii: editura si anul aparitiei. Pentru a inregistra informatiile apasam butonul "Inregistrare". Pentru a iesi apasam butonul
"Iesire".

Pentru a imprumuta o carte: apasam butonul Imprumut, apoi introducem datele cartii pe care vreau sa o
imprumut: titlul si autorul. O caut daca este in biblioteca apasand butonul "Cauta". Pentru a anula apas butonul "Anuleaza".
Pentru Detalii imprumut apas butonul "Detalii Imprumut" si introducem titlul si autorul pentru a vedea daca aceea carte
exista sau nu in biblioteca. Pentru a anula apasam butonul "Anuleaza". Datele personale ale persoanei care imprumuta
cartea: numele, prenumele, numarul de telefon si bifez in casuta "Imprumut". Apoi apasam "Inregistrare pentru a inregistra
efectuarea imprumutului. Pentru a iesi apasam butonul "Iesire".
Pentru a cauta o carte dupa criterii: apasam butonul Cautari. Avem 4 butoane: titlu si autor; titlu si editura; editura
si anul aparitiei; anuleaza. Pentru a iesi apasam "Anuleaza".
Apasand butonul Evidenta apar butoanele: Actualizeaza - pentru a modifica titlul, autorul, editura si anul aditarii si
apasam "Actualizeaza". Pentru a iesi apasam "Iesire". Stergere - pentru a sterge o carte; butonul "Raport carti imprumutate"
- apare lista cartilor imprumutate. Pentru a salva lista apasam butonul "Salveaza". Pentru a anula apasam "Anuleaza".
Pentru a iesi din aplicatie apasam butonul "Iesire aplicatie".
Pachetele:
com.biblioteca.db
Adaptor - realizeaza o conexiune la BD si-l da ca parametru.
Pentru incarcarea dinamica a unui driver JDBC folosim metodele Class.forName(). In cazul in care clasa nu e
gasita se arunca o exceptie (classNotFoundException e).
Pentru executia unei intructiuni SQL neparametrizate se foloseste state=con.CreateStatement().
Pentru stabilirea conexiunii la BD se foloseste metoda statica:
con = DriverManager.getConnection(url, "root", " ").
Conexiune: "jdbc:mysql://localhost" + bd;
Operatii - face interogari la BD. Se conecteaza la biblioteca si face interogari. Are un super biblioteca pentru ca are extends
Adaptor.
Aplicam metodele executeQuery() - folosit pentru a returna rezultatul si execute Update() - folosit pentru
actualizare sau stergere obiectului de tip statement pentru a trimite instructiuni SQL.
GenTableModel - este folosit pentru tabele din aplicatie pentru a afisa rezultatele.
Folosim o clasa din biblioteca Java de baza API: ArrayList.
Metode: InsertRow() - introduce linii in tabel;
getColumnCount() - returneaza nr de coloane;
getRowCount() - returneaza nr de linii;
Variabile: data, ColumnNames.
Inregistrari: un constructor Inregistrari fara parametri; un constructor cu care se face inregistrarea unei carti in baza de
date.
Metode: getNumarCarti - returneaza numarul de carti imprumutate unei personae.

Stergeri - realizeaza stergerea unei carti din baza de date ale carui titlu si autor sunt specificate ca argumente
constructorului clasei. Are interfata Runnable.
Metode: void run() - cu interogarile SQL cu care se face stergerea.
Update: actualizeaza datele inregistrate despre o carte. Are interfata Runnable.
Metode: void run() - cu interogarile SQL cu care se fac actualizarile.
com.biblioteca.gui
Biblioteca - reprezinta intrarea in aplicatie si e singura clasa care are inclusa metoda main.
Metoda : void InterfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e) - trateaza evenimentele generate de interactiunea cu utilizatorul.
CautaCarte - realizeaza cautarea unei carti.
Metode: void createAndShowGUI() - incearca sa creeze o interfata grafica
void actionPerformed(ActionEvent e) - trateaza evenimentele produse de componentele grafice actionate de
utlizator.
void initialize() - initializam tabelul cu valori default si initializam operatii.
CautaEdituraAn si CautaTitluEditura - realizeaza cautarea pentru anul si titul editurii.
Metode : void createAndShowGUI()
void actionPerformed(ActionEvent e) - trateaza evenimentele produse de componentele grafice actionate de
utlizator.
void initialize() - initializam tabelul cu valori default si initializam operatii.
CriteriiCautari - realizeaza cautarea pe criterii a unei carti.
Metode: void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
Evidenta - realizeaza evident pentru actualizarea, stergerea si raportul pentru imprumut.
Metode : void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
Imprumut - realizeaza imprumutul unei carti si introduce datele persoanei care a imprumutat cartea.
Metode : void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
void itemStateChanged(itemEvent e)

getCarteID()
void initialize()
ImprumutDetalii - void createAndShowGUI()
void actionPerformed(ActionEvent e)
void initialize()
Inregistrare - realizata pentru a inregistra carti in biblioteca.
Metode : void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
void initialize()
StergeCarte - realizeaza stergerea unei carti din biblioteca
Metode : void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
TotalCartiImprumutate - realizeaza totalul de carti imprumutate.
Metode : void createAndShowGUI()
void populateTable()
void initialize()
void actionPerformed(ActionEvent e)
UpdateCarte - realizeaza actualizarile facute
Metode : void interfataGrafica() - realizeaza interfata grafica.
void actionPerformed(ActionEvent e)
com.biblioteca.util
Are 2 interfete care apar daca nu bagi date corecte.
BibUtilities - Este o clasa cu metode folosite in aplicatie. Daca in 100 de fisiere apare metoda scriePeEcran, in general e de
dorit sa mai creezi o clasa, pui metoda asta acolo. Ea va aparea intr-un singur loc si vom folosi clasa oriunde avem nevoie.
Metode : getNumarCarti() - returneaza nr cartilor imprumutate.
void scrieInFisier()
getUltimaCarte() - returneaza ultima carte
getUltimulImprumut() - returneaza ultimul imprumut facut.

DateIncomplete - metode: void initializare()


ExcesCartiImprumutate - metode: void initializare()
void actionPerformed(ActionEvent e).
JavaDoc se creeaza cu comanda javadoc.exe si este o documentatie numita API - application programming
interface . Ea se genereaza pe baza comentariilor de tipul
/** ..*/ intalnite in cod.
Jar-ul pe care il folosesc in Adaptor la Class.forName ('com.mysql.jdbc.Driver').newInstance() se numeste
conector si face legatura dintre codul Java al aplicatiei si serverul de baze de date - MySQL.