Class JdbcDAO<T>
java.lang.Object
it.unisa.diem.wordageddon_g16.db.JdbcDAO<T>
- Type Parameters:
T- tipo dell'entità gestita dal DAO
- All Implemented Interfaces:
DAO<T>
- Direct Known Subclasses:
JDBCDocumentDAO,JDBCGameReportDAO,JDBCStopWordDAO,JDBCUserDAO,JDBCWdmDAO
Classe astratta base per l'accesso ai dati tramite JDBC.
Implementa il pattern DAO e fornisce metodi comuni per eseguire query SQL parametrizzate, operazioni di aggiornamento e verifiche strutturali. Ogni DAO specifico estende questa classe.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ConnectionConnessione persistente al database utilizzata dal DAO. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJdbcDAO(Connection connection) Costruisce un nuovo JdbcDAO utilizzando la connessione specificata. -
Method Summary
Modifier and TypeMethodDescriptionprotected <R> RexecuteQuery(String sql, javafx.util.Callback<ResultSet, R> cb) Esegue una query SQL semplice (senza parametri) e ne elabora il risultato tramiteCallback.protected <R> RexecuteQuery(String sql, javafx.util.Callback<ResultSet, R> cb, Object... params) Esegue una query SQL con parametri e applica unaCallbackper elaborare ilResultSet.protected longexecuteUpdate(String sql, Object... params) Esegue un'operazione di modifica (INSERT, UPDATE, DELETE) sul database.protected booleanVerifica se una tabella contiene almeno una riga.
-
Field Details
-
connection
Connessione persistente al database utilizzata dal DAO.
-
-
Constructor Details
-
JdbcDAO
Costruisce un nuovo JdbcDAO utilizzando la connessione specificata.- Parameters:
connection- la connessione al database
-
-
Method Details
-
executeQuery
Esegue una query SQL con parametri e applica unaCallbackper elaborare ilResultSet.- Type Parameters:
R- tipo di dato restituito dalla callback- Parameters:
sql- query SQL parametrizzatacb- callback che processa il risultato della queryparams- parametri da sostituire nella query- Returns:
- risultato ottenuto dalla callback
- Throws:
QueryFailedException- se la query fallisce durante l'esecuzione
-
executeQuery
Esegue una query SQL semplice (senza parametri) e ne elabora il risultato tramiteCallback.- Type Parameters:
R- tipo di risultato prodotto dalla callback- Parameters:
sql- query SQL da eseguirecb- callback che processa ilResultSet- Returns:
- risultato ottenuto dalla callback
- Throws:
QueryFailedException- se la query fallisce
-
executeUpdate
Esegue un'operazione di modifica (INSERT, UPDATE, DELETE) sul database.Se l'operazione è una INSERT, restituisce l'ID generato dalla riga appena inserita.
- Parameters:
sql- istruzione SQL da eseguireparams- parametri per l'inserimento- Returns:
- ID generato, oppure
-1se assente - Throws:
SQLException- se l'esecuzione fallisce
-
isEmpty
Verifica se una tabella contiene almeno una riga.- Parameters:
tableName- nome della tabella da controllare- Returns:
truese contiene righe,falsese è vuota o se la query fallisce
-