Benvenuti al tutorial JDBC. JDBC (Java DataBase Connectivity) è una delle API più utilizzate nelle applicazioni enterprise. Ciò è dovuto al fatto che la maggior parte delle applicazioni utilizza una qualche forma di connettività con il database. Di recente ho pubblicato molti tutorial JDBC relativi a JDBC di base, DataSource e la sua integrazione con il Framework Spring.
Tutorial JDBC
Questo è un post di indice per tutti i tutorial JDBC che ho pubblicato in precedenza. Se sei nuovo a JDBC, dovresti leggere questi tutorial JDBC per una migliore comprensione.
- Esempio JDBC L’API JDBC ci aiuta a scrivere codice debolmente accoppiato dai driver del database. Questo articolo spiega i diversi tipi di driver di database che abbiamo e quale è il più comunemente utilizzato e perché. Questo è un buon post per iniziare a imparare sulla connessione al database, le istruzioni e il ResultSet. Come tutti lavorano insieme per eseguire operazioni specifiche sul database. Questo articolo mostra anche come scrivere programmi JDBC in modo da mantenerli debolmente accoppiati dai driver del database, il che aiuta a passare facilmente da un server di database a un altro con solo modifiche di configurazione.
- JDBC Statement vs PreparedStatement JDBC API fornisce due modi per comunicare con il database:
Statement
ePreparedStatement
. Lo Statement è facile da usare, ma può causare injection di SQL, che è un modo comune per hackerare qualsiasi applicazione. Questo articolo mostra chiaramente come l’iniezione di SQL possa essere eseguita con gli Statement SQL e perché dovremmo utilizzarePreparedStatement
per evitare attacchi di injection SQL. L’articolo approfondisce ulteriormente alcuni dei principali vantaggi derivanti dall’uso di PreparedStatement rispetto a Statement, come la memorizzazione nella cache, la programmazione orientata agli oggetti e un codice dall’aspetto elegante. - JDBC PreparedStatement IN Clause Alternatives Dato che JDBC PreparedStatement è pre-compilato, non possiamo usarlo con la clausola IN. Invece di tornare a Statement, ci sono alcuni approcci alternativi che possiamo utilizzare per superare questa limitazione del PreparedStatement. Questo articolo fornisce quattro approcci alternativi diversi che possiamo adottare per supportare la clausola IN con le istruzioni preparate. Dovresti leggerlo perché non si sa mai quando ne avrai bisogno; inoltre, è una delle domande di intervista più frequenti legate a JDBC.
- Elaborazione Batch JDBC Se stai lavorando con dati di grandi dimensioni e devi eseguire molte query, non è una buona idea farlo una per una. JDBC fornisce il supporto per l’elaborazione batch, che sarà molto più veloce rispetto all’elaborazione di singole query alla volta. Questo articolo ti mostra come scrivere programmi per l’elaborazione batch. Approfondisce ulteriormente cosa fare se viene generata un’eccezione da una delle query nel batch.
- Esempio di CallableStatement JDBC Possiamo utilizzare l’API JDBC CallableStatement per eseguire stored procedure. Oracle Database fornisce Cursori e Oggetti DB che possiamo utilizzare nei parametri di input/output delle stored procedure. Questo tutorial fornisce dettagli specifici con programmi di esempio.
- Esempio di JDBC DataSource La maggior parte delle volte cerchiamo più di una connessione al database. Creare una connessione è un processo pesante e non è una buona idea lasciare che ogni parte del programma crei la propria connessione. Questo può portare a carenze di risorse e a prestazioni lente. Ecco perché utilizziamo il Connection Pooling nella maggior parte delle applicazioni enterprise. La maggior parte dei driver di database fornisce classi di implementazione DataSource che possono essere utilizzate nel pool di connessioni. Questo tutorial fornisce un esempio di DataSource MySQL e Oracle e come utilizzarli. L’articolo fornisce anche dettagli su Apache DBCP che funziona come un wrapper attorno alle diverse implementazioni di DataSource per ottenere un accoppiamento lento.
- Gestione delle transazioni JDBC La gestione delle transazioni è importante quando abbiamo un gruppo di query da eseguire e vogliamo assicurarci che vengano eseguite tutte o nessuna di esse. Possiamo impostare il commit automatico della connessione su false, per ottenere la gestione delle transazioni. Se tutto va bene, possiamo eseguire il commit della transazione o se ci sono eccezioni possiamo eseguire il rollback dell’intera transazione. Spiega anche il Savepoint che possiamo usare per tornare indietro a un punto particolare nella transazione. Puoi pensare al Savepoint come a dei punti di riferimento nella transazione.
- Esempio di Tomcat JNDI DataSource La maggior parte dei contenitori di servlet supporta le risorse JNDI per DataSource che possiamo utilizzare per delegare le attività di gestione delle transazioni e di pooling delle connessioni al contenitore. Questo articolo spiega i diversi modi attraverso i quali possiamo configurare DataSource nel server Apache Tomcat e utilizzare la ricerca del contesto JNDI per ottenere il DataSource e lavorare con esso.
- Esempio di Spring JDBC e JdbcTemplate Questo articolo fornisce dettagli sull’integrazione JDBC con il framework Spring. Possiamo scegliere di utilizzare l’API JDBC standard o ottenere i vantaggi di Spring JdbcTemplate che ci aiuta a eliminare tutto il codice di base che accompagna JDBC, ad esempio l’apertura/chiusura della connessione, delle dichiarazioni, dei risultati, ecc.
- Gestione delle transazioni Spring Spring fornisce un supporto integrato per la gestione delle transazioni. La gestione delle transazioni è una preoccupazione trasversale e l’approccio Spring AOP con gestione dichiarativa delle transazioni è molto semplice ed elegante da usare. Un progetto di esempio che spiega diversi aspetti della gestione delle transazioni nel framework Spring per le operazioni JDBC.
- Esempio di Spring DataSource JNDI Il framework Spring è molto popolare perché fornisce una soluzione basata su configurazione per la maggior parte dei compiti comuni. Ecco perché il framework Spring fornisce configurazioni semplici per cercare il contesto JNDI e ottenere DataSource definiti dal container servlet. Un tutorial con un progetto di esempio di Spring MVC per mostrarti come farlo facilmente.
- Esempio di integrazione JSF JDBC JSF è uno dei framework basati su componenti più ampiamente utilizzati. Questo tutorial spiega come possiamo integrare l’API JDBC con il framework JSF.
- Domande e risposte sull’intervista JDBC Una raccolta di 40 domande relative a JDBC con risposte dettagliate per aiutarti nelle interviste Java a superare diversi tipi di domande su JDBC.
I will be adding more posts in JDBC tutorial, so please bookmark the post for future reference too.
Source:
https://www.digitalocean.com/community/tutorials/jdbc-tutorial