Class JDBCDocumentDAO
- All Implemented Interfaces:
DAO<Document>,DocumentDAO
Implementazione JDBC del
DocumentDAO, che gestisce le operazioni sui documenti.
I documenti sono salvati nella tabella Document e rappresentati tramite il model Document.
Tutte le interazioni con il database sono gestite tramite JdbcDAO, con logging automatico via SystemLogger.
-
Field Summary
Fields inherited from class it.unisa.diem.wordageddon_g16.db.JdbcDAO
connection -
Constructor Summary
ConstructorsConstructorDescriptionJDBCDocumentDAO(Connection conn) Costruisce un nuovo DocumentDAO utilizzando la connessione specificata. -
Method Summary
Modifier and TypeMethodDescriptionvoidElimina unDocumentdalla tabella.voidInserisce un nuovoDocumentnella tabella.booleanisEmpty()Verifica se la tabellaDocumentcontiene almeno una riga.Recupera tutti i documenti presenti nella tabellaDocument.Recupera un documento dal database in base al suo identificativo (rappresentato dalfilename).voidAggiorna i dati di unDocumentesistente nella tabella, modificandone titolo e numero di parole.Methods inherited from class it.unisa.diem.wordageddon_g16.db.JdbcDAO
executeQuery, executeQuery, executeUpdate, isEmpty
-
Constructor Details
-
JDBCDocumentDAO
Costruisce un nuovo DocumentDAO utilizzando la connessione specificata.- Parameters:
conn- la connessione al database da utilizzare per le operazioni
-
-
Method Details
-
selectBy
Recupera un documento dal database in base al suo identificativo (rappresentato dalfilename).Se il documento esiste, viene restituito incapsulato in un
Optional. Se non esiste, il risultato sarà vuoto.- Specified by:
selectByin interfaceDocumentDAO- Parameters:
filename- identificativo univoco del documento- Returns:
Optionalcontenente il documento trovato, oppure vuoto- Throws:
QueryFailedException- se l'esecuzione della query fallisce
-
selectAll
-
insert
Inserisce un nuovoDocumentnella tabella. Se il documento esiste già (stessoid), l'operazione viene ignorata.- Specified by:
insertin interfaceDAO<Document>- Parameters:
document- documento da inserire- Throws:
QueryFailedException- se si verifica un errore durante l'inserimento
-
update
Aggiorna i dati di unDocumentesistente nella tabella, modificandone titolo e numero di parole.- Specified by:
updatein interfaceDAO<Document>- Parameters:
document- documento da aggiornare- Throws:
UpdateFailedException- se si verifica un errore durante l’aggiornamento
-
delete
Elimina unDocumentdalla tabella.Grazie ai vincoli di integrità
ON DELETE CASCADE, vengono rimossi anche i record associati (es.Content,WDM).- Specified by:
deletein interfaceDAO<Document>- Parameters:
document- documento da eliminare- Throws:
UpdateFailedException- se l'eliminazione fallisce
-
isEmpty
public boolean isEmpty()Verifica se la tabellaDocumentcontiene almeno una riga.- Specified by:
isEmptyin interfaceDocumentDAO- Returns:
truese la tabella è vuota,falsealtrimenti
-