Class JDBCUserDAO
Implementazione JDBC del
UserDAO, che gestisce le operazioni Dao sullo user.
Gli utenti sono salvati nella tabella User, e rappresentati dal modello User.
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
ConstructorsConstructorDescriptionJDBCUserDAO(Connection connection) Costruisce un nuovoJDBCUserDAOutilizzando la connessione specificata. -
Method Summary
Modifier and TypeMethodDescriptionvoidElimina un utente dal database.voidInserisce un nuovo utente nella tabellaUser.booleanisEmpty()Verifica se la tabellaUserè vuota.Recupera tutti gli utenti presenti nella tabellaUser.Recupera un utente dal database in base al nome utente.voidAggiorna le informazioni di un utente esistente.Methods inherited from class it.unisa.diem.wordageddon_g16.db.JdbcDAO
executeQuery, executeQuery, executeUpdate, isEmpty
-
Constructor Details
-
JDBCUserDAO
Costruisce un nuovoJDBCUserDAOutilizzando la connessione specificata.- Parameters:
connection- la connessione al database da utilizzare per le operazioni
-
-
Method Details
-
selectBy
Recupera un utente dal database in base al nome utente.- Specified by:
selectByin interfaceUserDAO- Parameters:
username- il nome dell’utente da cercare- Returns:
- un
Optionalcontenente l’utente se trovato, altrimenti vuoto - Throws:
QueryFailedException- se si verifica un errore durante l'esecuzione della query
-
selectAll
-
insert
Inserisce un nuovo utente nella tabellaUser.Se l’utente esiste già (in base alla chiave primaria), l’inserimento viene ignorato.
- Specified by:
insertin interfaceDAO<User>- Parameters:
user- l’oggettoUserda inserire- Throws:
UpdateFailedException- se si verifica un errore durante l'inserimento
-
update
-
delete
Elimina un utente dal database.L'eliminazione comporta anche la cancellazione automatica dei
GameReportassociati, grazie ai vincoli di integrità (ON DELETE CASCADE).- Specified by:
deletein interfaceDAO<User>- Parameters:
user- l’oggettoUserda eliminare- Throws:
UpdateFailedException- se si verifica un errore durante la cancellazione
-
isEmpty
public boolean isEmpty()Verifica se la tabellaUserè vuota.- Returns:
truese non esiste alcun utente nel database, altrimentifalse
-