JDBC - Introduzione
Cos'è JDBC?
JDBC sta per Java Database Connectivity, che è un'API Java standard per la connettività indipendente dal database tra il linguaggio di programmazione Java e un'ampia gamma di database.
La libreria JDBC include API per ciascuna delle attività menzionate di seguito che sono comunemente associate all'utilizzo del database.
Effettuare una connessione a un database.
Creazione di istruzioni SQL o MySQL.
Esecuzione di query SQL o MySQL nel database.
Visualizzazione e modifica dei record risultanti.
Fondamentalmente, JDBC è una specifica che fornisce un set completo di interfacce che consente l'accesso portabile a un database sottostante. Java può essere utilizzato per scrivere diversi tipi di eseguibili, come:
Applicazioni Java
Applet Java
Java Servlet
Java ServerPages (JSP)
Enterprise JavaBeans (EJB).
Tutti questi diversi eseguibili sono in grado di utilizzare un driver JDBC per accedere a un database e sfruttare i dati memorizzati.
JDBC fornisce le stesse funzionalità di ODBC, consentendo ai programmi Java di contenere codice indipendente dal database.
Pre-requisito
Prima di procedere oltre, è necessario avere una buona comprensione dei seguenti due argomenti:
Programmazione JAVA di base
Database SQL o MySQL
Architettura JDBC
L'API JDBC supporta modelli di elaborazione a due e tre livelli per l'accesso al database ma, in generale, l'architettura JDBC è composta da due livelli:
JDBC API: Ciò fornisce la connessione dell'applicazione a JDBC Manager.
JDBC Driver API: Supporta la connessione JDBC Manager-to-Driver.
L'API JDBC utilizza un gestore driver e driver specifici del database per fornire una connettività trasparente a database eterogenei.
Il gestore driver JDBC garantisce che venga utilizzato il driver corretto per accedere a ciascuna origine dati. Il driver manager è in grado di supportare più driver simultanei connessi a più database eterogenei.
Di seguito è riportato il diagramma dell'architettura, che mostra la posizione del gestore driver rispetto ai driver JDBC e all'applicazione Java -
Componenti JDBC comuni
L'API JDBC fornisce le seguenti interfacce e classi:
DriverManager:Questa classe gestisce un elenco di driver di database. Corrisponde alle richieste di connessione dall'applicazione java con il driver del database appropriato utilizzando il protocollo secondario di comunicazione. Il primo driver che riconosce un determinato sottoprotocollo in JDBC verrà utilizzato per stabilire una connessione al database.
Driver:Questa interfaccia gestisce le comunicazioni con il server del database. Interagirai direttamente con gli oggetti Driver molto raramente. Invece, usi gli oggetti DriverManager, che gestisce oggetti di questo tipo. Inoltre astrae i dettagli associati all'utilizzo degli oggetti Driver.
Connection:Questa interfaccia con tutti i metodi per contattare un database. L'oggetto connessione rappresenta il contesto di comunicazione, cioè tutta la comunicazione con il database avviene solo tramite l'oggetto connessione.
Statement:Gli oggetti creati da questa interfaccia vengono utilizzati per inviare le istruzioni SQL al database. Alcune interfacce derivate accettano parametri oltre all'esecuzione di stored procedure.
ResultSet:Questi oggetti contengono i dati recuperati da un database dopo aver eseguito una query SQL utilizzando gli oggetti Statement. Agisce come un iteratore per consentirti di spostarti tra i suoi dati.
SQLException: Questa classe gestisce tutti gli errori che si verificano in un'applicazione di database.
I pacchetti JDBC 4.0
Java.sql e javax.sql sono i pacchetti principali per JDBC 4.0. Questa è l'ultima versione di JDBC al momento della stesura di questo tutorial. Offre le classi principali per interagire con le origini dati.
Le nuove funzionalità di questi pacchetti includono modifiche nelle seguenti aree:
Caricamento automatico del driver del database.
Miglioramenti alla gestione delle eccezioni.
Funzionalità BLOB / CLOB migliorata.
Miglioramenti dell'interfaccia di connessione e istruzione.
Supporto per set di caratteri nazionali.
Accesso SQL ROWID.
Supporto del tipo di dati XML di SQL 2003.
Annotations.