









































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti di Informatica - Persistenza
Tipologia: Appunti
1 / 49
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










































AA 2009-
UNIVERSITA’ DI FIRENZE^ Facoltà di Ingegneria
APPLICAZIONE^ (programmi)^ (oggetti) • (valori, relazioni )
DATIPERSISTENTI (file, record) (basi di dati)
AA 2009-
Struttura a livelli
Logicaapplicativa A cosa ci vogliamoportare nel Dominio
AA 2009-
-^ Data Object^ •^ Sono le entità
proprie del dominio applicativo
-^ ESEMPI: Fattura, Ordine, Cliente, Impiegato, Prestito,Escursione, Documento, Prenotazione, Pagamento, ecc. •^ Spesso vengono anche indicati come
Value Object
(o
Business object
-^ Service Object^ •^ Sono gli oggetti che implementano la logica applicativa^ •^ ESEMPI: Gestore degli ordini, Controllo Pagamenti,Assegnazione lavoro, Registrazione prenotazione, ecc.^ •^ Indicati anche come Applicative Object, Managers, ControlObjects
(?), ecc.
-^ Serializzazione (Java)^ •^ Salva/recupera l’intero grafo degli oggetti (con tutti i loroattributi ecc.)^ •^ Un po’
ostica da manegiare
-^ Uso di librerie, p.e. XStream^ •^ Si appoggia sulla serializzazione di Java^ •^ Genera file XML contenenti il grafo degli oggetti^ •^ Costruisce un grafo di oggetti a partire dal file XML(conforme)
-^ Esempio (da wikipedia) <?xml^ version="1.0"
encoding="UTF-8"?>
Vediamolo!
AA 2009-
Mappatura Mondo OO • Va bene per relazioni 1:
e 1:N
-^ Nel caso di relazione N:N ci vuole una tabella di incrocio
AA 2009-
-^ Manuale
AA 2009-
-^ ODBC (Open Data BaseConnectivity): API standarddi connessione ai DBMS(linguaggio C) •^ JDBC: versione di ODBC perprogrammi in Java •^ Richiedono un “driver”^ specifico per ogni distintoDBMS (Oracle, MySQL, …)
Mappatura manuale con JDBC • JDBC: API standard di JAVA verso il DBMS relazionale (uso diSQL) • Accesso alla base dati: • Apertura di una connessione verso la base di dati (istanziazione^ dell'oggetto AA 2009- con^ )
-^ Preparazione di uno statement SQL (istanziazione
dell'oggetto
stmt) • Esecuzione della query
(tramite il metodo
executeQuery()
di
stmt )^ ottenendo
unresult^ set
.
-^ Statement
stmt^ =^ con.createStatement(); resultSet
rs^ =^ stmt.executeQuery("select
*****^ from PARTECIPANTE");
Esempio AA 2009-
(rif. Agenzia)
-^ Nell’applicazione: Partecipante
p^ =^ agenzia.getPartecipante(“BCC...”)
-^ Bisogna inserire linee di codice entro Agenzia perrecuperare gli oggetti dal DB (persistenza attraverso
-^ E’una soluzione invasiva
vengonosporcate dal codice di persistenza, violandola separazione tra il livello di dominio e quello dipersistenza
AA 2009-
public^ Partecipante
getPartecipante(String
cF){
Statement
stmt^ =^ con.createStatement(); ResultSet
rs^ =^ stmt.executeQuery("select
from^ PARTECIPANTE"); while (rs.next()){ String cFx^ =^ rs.getString("CF");if (cFx^ ==^ cF)^
Partecipante
p^ =^ new^
Partecipante(cF); p.setName(rs.getString("NAME"));return^ p; } } return^
null;
-^ Cosa serve in Agenzia^ }
stato stravolto