java jdbc tutorial what is jdbc
Partendo dalle basi, questo tutorial JDBC spiega i componenti, l'architettura e i tipi di driver in Java Database Connectivity (JDBC):
Questo tutorial spiega cos'è JDBC, le sue versioni rilasciate fino ad ora, quali sono i prerequisiti necessari prima di procedere con JDBC, i tipi di driver, ecc. Alla fine di questo tutorial, conoscerai le basi di Java Database Connectivity o JDBC e dove possiamo usarlo.
Iniziamo questo tutorial con le basi di JDBC.
Cosa imparerai:
Elenco dei tutorial Java JDBC
Tutorial n. 1: Che cos'è JDBC (Java Database Connectivity) (Questo tutorial)
Tutorial n. 2: Tutorial di connessione Java JDBC con esempio di programmazione
Tutorial n. 3: JDBC DriverManager, JDBC PreparedStatement e Statement
Tutorial n. 4: ResultSet JDBC: come utilizzare il ResultSet Java per recuperare i dati
Tutorial n. 5: Gestione transazioni Java JDBC con esempio
Tutorial # 6: Gestione delle eccezioni JDBC - Come gestire le eccezioni SQL
Tutorial # 7: Esercitazione sull'elaborazione batch e sulla stored procedure JDBC
Tutorial n. 8: Top 25+ domande e risposte ai colloqui di JDBC
Cos'è JDBC
Nella maggior parte delle applicazioni Java, è sempre necessario interagire con i database per recuperare, manipolare ed elaborare i dati. A tale scopo è stato introdotto Java JDBC.
JDBC è l'abbreviazione comunemente utilizzata per Java Database Connectivity. Utilizzando JDBC, possiamo interagire con diversi tipi di database relazionali come Oracle, MySQL, MS Access, ecc.
Prima di JDBC, l'API ODBC veniva introdotta per connettersi ed eseguire operazioni con il database. ODBC utilizza un driver ODBC che dipende dalla piattaforma perché è stato scritto in linguaggio di programmazione C. L'API JDBC è scritta in linguaggio Java, è indipendente dalla piattaforma e rende essa stessa indipendente dalla piattaforma Java.
Il diagramma seguente mostra il flusso di base di JDBC:
Versioni di JDBC
Inizialmente, Sun Microsystems aveva rilasciato JDBC in JDK 1.1 il 19 febbraio 1997. Successivamente, è stato parte della piattaforma Java.
La tabella seguente contiene le versioni e le implementazioni di JDBC:
Versione JDBC | Implementazione JDK | Anno |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Prerequisito
Prima di procedere con il tutorial JDBC, è necessario avere una buona conoscenza di Java in modo da poter utilizzare JDBC nei programmi Java.
=> Lettura consigliata: Tutorial Java
I prerequisiti per implementare JDBC nelle applicazioni Java sono i seguenti:
1. Java dovrebbe essere installato nel sistema in cui si desidera creare l'applicazione Java e utilizzare JDBC.
Fare riferimento a questo collegamento per l'installazione di Java.
Due. Dovresti avere i file jar del driver JDBC corretti per la connessione con DBMS. Ogni database ha file jar del driver JDBC diversi.
È possibile scaricare questi file per il database specifico utilizzando i collegamenti nella tabella seguente:
Database con collegamento per il download | Nome provider driver JDBC | Nome file JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Oracolo | Oracle Corporation | Oracoloojdbc8.jar |
server SQL | Microsoft Corporation | server SQLsqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | PostgreSQL Global Development Group | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
Accesso MS | UCanAccess.com | Accesso MSucanaccess-VERSION.jar |
Tipi di driver in JDBC
Ora, discutiamo i tipi di driver in JDBC per aiutarti a scegliere quello adatto al tuo programma.
Tutti gli RDMS (Relational Database Management System) necessitano di un driver se si deve accedervi dall'esterno del loro sistema. Pertanto, il driver JDBC è necessario per eseguire query SQL e ottenere il risultato dal database.
Ci sono 4 diversi tipi di driver disponibili in JDBC. Sono classificati in base alla tecnica utilizzata per accedere a un database.
Sono i seguenti:
- Tipo I: JDBC-ODBC Bridge
- Tipo II: APT nativo, parzialmente driver Java
- Tipo III: protocollo di rete - Driver completamente Java
- Tipo IV: driver sottile - Driver completamente Java
Tipo I: JDBC-ODBC Bridge
In questo tipo di driver, JDBC - ODBC Bridge funge da interfaccia tra il client e il server DB. Quando un utente utilizza l'applicazione Java per inviare richieste al database utilizzando JDBC - ODBC Bridge, prima converte l'API JDBC in API ODBC e poi la invia al database. Quando il risultato viene ricevuto dal DB, viene inviato all'API ODBC e quindi all'API JDBC.
Questo driver dipende dalla piattaforma perché utilizza ODBC che dipende dalla libreria nativa del sistema operativo. In questo tipo, il driver JDBC - ODBC deve essere installato in ogni sistema client e il database deve supportare il driver ODBC.
Quando non si tratta di installazione nella macchina client, possiamo utilizzare questo driver. È facile da usare ma offre prestazioni ridotte a causa della conversione delle chiamate del metodo JDBC alle chiamate del metodo ODBC.
Nota: è disponibile in JDK 1.2
Java 8 non supporta questo tipo di driver. Oracle consiglia all'utente di utilizzare i driver JDBC forniti dai fornitori di database.
Figura: Tipo I: JDBC - Driver ODBC Bridge
Tipo II: API nativa - Driver parzialmente Java
È simile al driver di tipo I. Qui, la parte ODBC viene sostituita con codice nativo nel driver di tipo II. Questa parte di codice nativo è destinata a un prodotto di database specifico. Utilizza le librerie del lato client del database. Questo driver converte le chiamate al metodo JDBC in chiamate native dell'API nativa del database.
Quando il database riceve le richieste dall'utente, le richieste vengono elaborate e rinviate con i risultati nel formato nativo che devono essere convertiti in formato JDBC e consegnati all'applicazione Java.
È stato immediatamente adottato dai fornitori di DB perché era veloce ed economico da implementare. È anche nel formato nativo del DB.
Questo tipo di driver offre una risposta e prestazioni più rapide rispetto al driver di tipo I.
Figura: Tipo II: APT nativo - In parte driver Java
Tipo III: protocollo di rete
Il driver di tipo III è completamente scritto in Java. È come un approccio a 3 livelli per accedere al database. Invia le chiamate al metodo JDBC a un server intermedio. Per conto di JDBC, il server intermedio comunica con il database. Il server delle applicazioni (intermedio o intermedio) converte le chiamate JDBC direttamente o indirettamente nel protocollo database specifico del fornitore.
Questo approccio non aumenta l'efficienza dell'architettura ed è anche costoso, per questo la maggior parte dei fornitori di database non preferisce questo driver. Poiché viene utilizzato il server delle applicazioni, è necessario disporre di una buona conoscenza del server delle applicazioni per utilizzare questo approccio in modo efficiente.
Figura: Tipo III: Protocollo di rete - Driver completamente Java
Tipo IV: driver sottile
Viene implementato direttamente il driver di tipo IV che converte le chiamate JDBC direttamente nel protocollo database specifico del fornitore. Oggi, la maggior parte dei driver JDBC sono driver di tipo IV. È scritto completamente in Java e quindi è indipendente dalla piattaforma. Viene installato all'interno della JVM (Java Virtual Machine) del client, quindi non è necessario installare alcun software sul lato client o lato server. Questa architettura di driver ha tutta la logica per comunicare direttamente con il DB in un unico driver.
Fornisce prestazioni migliori rispetto agli altri tipi di driver. Consente una facile implementazione. Al giorno d'oggi, questo tipo di driver è sviluppato dallo stesso fornitore di database in modo che i programmatori possano usarlo direttamente senza dipendere da altre fonti.
Figura: Tipo IV: Thin Driver - Fully Java Driver
Applicazioni di JDBC
JDBC può essere utilizzato in applicazioni Java, applet, servlet o qualsiasi altro programma Java a cui si desidera connettersi con DB.
Per esempio, Applicazioni autonome, siti Web, applicazioni bancarie, ecc.
Architettura e componenti di JDBC
Architettura JDBC: Supporta due tipi di modelli di elaborazione per accedere al DB.
Questi sono:
- Architettura a due livelli
- Architettura a tre livelli
# 1) Architettura a due livelli:
Aiuta l'applicazione Java a connettersi direttamente al database. Necessita di un driver JDBC per la comunicazione con un particolare DB. L'utente invia le richieste al DB e riceve la risposta direttamente senza alcun mediatore eccetto il driver JDBC. Il database, nella stessa macchina o su una macchina remota, è connesso tramite una rete. Può essere chiamato come un'architettura client-server.
# 2) Architettura a tre livelli:
È l'opposto dell'architettura a due livelli. Non c'è comunicazione diretta tra l'utente e il database. L'utente invia la richiesta al livello intermedio (Application Server) da cui la richiesta viene nuovamente inviata al Database. Quindi il database elabora la richiesta e invia il risultato al livello intermedio da cui l'utente riceve il risultato / risposta.
Semplifica l'implementazione e la gestione. I direttori di Management Information System (MIS) utilizzano questa architettura in quanto semplifica il controllo degli accessi e gli aggiornamenti ai dati aziendali.
Architettura a tre livelli
Componenti di JDBC
Ci sono 4 componenti principali disponibili in JDBC. Sono:
- API JDBC
- Gestione driver JDBC
- JDBC Test Suite
- JDBC - ODBC Bridge
# 1) API JDBC: Fornisce accesso a database relazionali da qualsiasi programma Java. L'API JDBC ha una serie di classi e interfacce scritte in Java che fornisce uno strumento / API standard per gli sviluppatori. Utilizzando l'API JDBC, è possibile creare ed eseguire query SQL, ricevere il risultato ed eseguire modifiche ai dati e salvare nuovamente i risultati nel database.
Può interagire con più database come Oracle, MySQL, MS Access da un unico programma Java. Con JDBC API, non è necessario scrivere un programma per accedere a Oracle DB, un altro programma per accedere a MySQL, un altro programma per accedere a MS Access e così via.
L'API JDBC fa parte della piattaforma Java che include sia Java Standard Edition (Java SE) che Java Enterprise Edition (Java EE).
L'API JDBC 4.0 ha 2 pacchetti.
- Java.sql
- Javax.sql
Entrambi i pacchetti sono disponibili in Java SE e Java EE.
# 2) Gestione driver JDBC: Il livello di gestione tradizionale di JDBC è Driver Manager e funge da interfaccia tra l'utente e i driver. Mantiene i dettagli di tracciamento dei driver disponibili e stabilisce una connessione tra il database e il driver appropriato. Definisce gli oggetti che possono connettere l'app Java al driver JDBC. Pertanto, è la spina dorsale dell'API JDBC.
Discuteremo il Driver Manager nel prossimo tutorial.
# 3) Suite di test JDBC: Aiuta a scoprire se i driver JDBC eseguiranno il programma o meno. Fornisce la sicurezza e la conformità che il programma verrà eseguito dai driver JDBC.
# 4) JDBC- ODBC Bridge: Questo fa uso di driver ODBC come driver JDBC. È simile al driver TYPE I che è già trattato nella sezione dei tipi di driver in questo tutorial.
Punti chiave da notare:
- JDBC viene utilizzato per interagire con il database da qualsiasi programma Java come applicazione Java, applet, servlet.
- L'ultima versione di JDBC è JDBC 4.3 È una versione stabile dal 21stSettembre 2017.
- Driver di tipo I: JDBC ODBC Bridge: facile da usare ma ODBC dipende dalla piattaforma. È anche un driver a basse prestazioni.
- Driver di tipo II: API nativa: la parte di codice nativa ha sostituito la parte ODBC nel driver di tipo I e destinata a un prodotto database specifico. È più veloce del driver di tipo I.
- Driver di tipo III: Il livello intermedio o il server delle applicazioni viene utilizzato come interfaccia tra il driver JDBC e il database. La conoscenza di Application Server è necessaria per utilizzarlo in modo efficace.
- Driver di tipo IV: Il driver JDBC comunica immediatamente con il database. I fornitori di database utilizzano questo tipo di driver e lo forniscono a clienti o sviluppatori.
- JDBC può essere utilizzato in qualsiasi programma scritto in linguaggio Java.
Conclusione
In questo tutorial JDBC, abbiamo appreso le basi di JDBC e i prerequisiti necessari prima di procedere con JDBC. Abbiamo visto le sue versioni e 4 tipi di driver che aiutano gli sviluppatori a decidere il tipo di driver da utilizzare nei programmi.
Abbiamo anche discusso dell'architettura di JDBC e dei suoi 4 componenti principali.
Lettura consigliata
- JDBC DriverManager, JDBC PreparedStatement e Statement
- Tutorial ChromeDriver Selenium: test webdriver selenio su Chrome
- Tutorial Java SWING: contenitore, componenti e gestione degli eventi
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Data Driven Framework in Selenium WebDriver utilizzando Apache POI
- Gestione di iFrame utilizzando il metodo selenium WebDriver switchTo ()
- Test di accessibilità con Selenium Webdriver con esempio di codice
- Come eseguire Selenium WebDriver in diversi browser popolari