Spring JDBC - Panoramica
Mentre si lavora con il database utilizzando il semplice vecchio JDBC, diventa complicato scrivere codice non necessario per gestire le eccezioni, aprire e chiudere le connessioni al database, ecc. Tuttavia, Spring JDBC Framework si prende cura di tutti i dettagli di basso livello a partire dall'apertura della connessione, preparazione e esecuzione dell'istruzione SQL, elaborazione delle eccezioni, gestione delle transazioni e infine chiusura della connessione.
Quello che devi fare è solo definire i parametri di connessione e specificare l'istruzione SQL da eseguire ed eseguire il lavoro richiesto per ogni iterazione durante il recupero dei dati dal database.
Spring JDBC fornisce diversi approcci e corrispondentemente classi differenti per interfacciarsi con il database. In questo tutorial, adotteremo l'approccio classico e più popolare che fa uso della classe Template JDBC del framework. Questa è la classe del framework centrale che gestisce tutte le comunicazioni del database e la gestione delle eccezioni.
Classe modello JDBC
La classe Template JDBC esegue query SQL, aggiorna le istruzioni e le chiamate di procedure memorizzate, esegue l'iterazione sui ResultSet e l'estrazione dei valori dei parametri restituiti. Inoltre rileva le eccezioni JDBC e le traduce nella gerarchia delle eccezioni generica, più informativa, definita nel pacchetto org.springframework.dao.
Le istanze della classe JDBC Template sono thread-safe una volta configurate. Pertanto, è possibile configurare una singola istanza di un modello JDBC e quindi inserire in modo sicuro questo riferimento condiviso in più DAO.
Una pratica comune quando si utilizza la classe JDBC Template consiste nel configurare un DataSource nel file di configurazione Spring e quindi nell'iniettare la dipendenza quel bean DataSource condiviso nelle classi DAO. Il modello JDBC viene creato nel setter per DataSource.
Oggetto di accesso ai dati (DAO)
DAO sta per Data Access Objectche è comunemente usato per l'interazione con il database. I DAO esistono per fornire un mezzo per leggere e scrivere dati nel database e dovrebbero esporre questa funzionalità attraverso un'interfaccia con cui il resto dell'applicazione accederà ad essi.
Il supporto DAO (Data Access Object) in Spring semplifica il lavoro con le tecnologie di accesso ai dati come JDBC, Hibernate, JPA o JDO in modo coerente.