Introduzione all'architettura JDBC

Java Database Connectivity (JDBC) è un'API (Application Program Interface) o un'interfaccia indipendente dalla piattaforma che aiuta a connettere i programmi Java con vari database come Oracle, My SQL, MS Access e SQL Server. Fornisce modi per eseguire query e aggiornare il database utilizzando istruzioni di aggiornamento SQL (Structured Query Language) come CREATE, DELETE, INSERT e UPDATE e istruzioni di query come SELECT. È quasi simile a ODBC (Open Database Connectivity) fornito da Microsoft.

Per connettere il programma java o l'applicazione con il database ci sono cinque passaggi da seguire:

1. Carica il driver: il driver aiuta a stabilire una connessione al database, quindi il driver deve essere caricato una volta nel programma. Questo può essere fatto con due metodi:

  • Class.forName (): Usando questo, il file di classe del driver viene caricato in memoria durante il runtime. Non è necessario creare un nuovo oggetto. Per esempio:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): qui DriverManager è una classe Java integrata in cui il registro è il suo membro statico. Usando questo, il costruttore della classe driver viene chiamato durante il tempo di compilazione. In questo nuovo oggetto viene creato. Per esempio:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Creazione di connessioni: dopo aver caricato il driver, la connessione viene impostata. L'oggetto connessione utilizza nome utente, password e URL per impostare la connessione. L'URL ha un formato predefinito che contiene il nome del database, il driver utilizzato, l'indirizzo IP in cui è archiviato il database, il numero di porta e il fornitore di servizi. La connessione può essere impostata usando il comando:

Connection con = DriverManager.getConnection(URL, user, password);

3. Creazione della dichiarazione: dopo aver stabilito la connessione, l'utente può interagire con il database. Le interfacce come istruzione JDBC, PreparedStatement, CallableStatement forniscono metodi che consentono a un utente di inviare istruzioni SQL e ottenere dati dal database. Il comando utilizzato per creare l'istruzione è;

Statement stmt = con.createStatement();

4. Esecuzione della query: la query SQL viene eseguita per interagire con il database. Una query può essere per l'aggiornamento / l'inserimento nel database o per il recupero di dati. L'interfaccia dell'istruzione fornisce due metodi, ovvero il metodo executeQuery () per eseguire query per il recupero dei dati mentre il metodo executeUpdate () per eseguire query per l'aggiornamento o l'inserimento. Per esempio:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Chiusura della connessione: dopo aver eseguito la nostra query, l'utente dei dati che voleva aggiornare o recuperare è stato fatto, quindi ora è il momento di chiudere la connessione stabilita. L'interfaccia di connessione fornisce un metodo close () per chiudere la connessione. Per esempio:

con.close();

Architettura JDBC

JDBC supporta due tipi di modelli di elaborazione per l'accesso al database, ovvero due livelli e tre livelli.

1. Architettura a due livelli:

Questa architettura aiuta il programma o l'applicazione java a comunicare direttamente con il database. È necessario un driver JDBC per comunicare con un database specifico. Query o richiesta viene inviata dall'utente al database e i risultati vengono ricevuti dall'utente. Il database può essere presente sulla stessa macchina o su qualsiasi macchina remota connessa tramite una rete. Questo approccio è chiamato architettura o configurazione client-server.

2. Architettura a tre livelli:

In questo, non c'è comunicazione diretta. Le richieste vengono inviate al livello intermedio, ad esempio il browser HTML invia una richiesta all'applicazione java che viene successivamente inviata al database. Il database elabora la richiesta e restituisce il risultato al livello intermedio che comunica con l'utente. Aumenta le prestazioni e semplifica la distribuzione dell'applicazione.

Componenti dell'architettura JDBC

  • Driver Manager: è una classe che contiene un elenco di tutti i driver. Quando viene ricevuta una richiesta di connessione, essa corrisponde alla richiesta con il driver di database appropriato utilizzando un protocollo chiamato sub-protocollo di comunicazione. Il driver corrispondente viene utilizzato per stabilire una connessione.
  • Driver: è un'interfaccia che controlla la comunicazione con il server di database. Gli oggetti DriverManager vengono utilizzati per eseguire la comunicazione.
  • Connessione: è un'interfaccia che contiene metodi per contattare un database.
  • Istruzione: questa interfaccia crea un oggetto per inviare query o istruzioni SQL al database.
  • ResultSet: contiene i risultati recuperati dopo l'esecuzione delle istruzioni o delle query SQL.
  • SQLException: tutti gli errori che si verificano nell'applicazione di database sono gestiti da questa classe.

Lo schema architettonico di base JDBC è mostrato di seguito con il posizionamento di tutti i componenti:

interfacce

Il pacchetto java.sql è composto da molte interfacce. Alcune interfacce popolari sono menzionate di seguito:

  • Interfaccia driver: questa interfaccia consente più driver di database. Gli oggetti DriverManager vengono creati per comunicare con il database. Questi oggetti sono creati da DriverManager.registerDriver ();
  • Interfaccia di connessione: l' interfaccia di connessione stabilisce la connessione, ovvero la sessione tra il programma Java e il database. Ha molti metodi come rollback (), close () ecc.
  • Interfaccia istruzione: questa interfaccia fornisce metodi per l'esecuzione delle query SQL. Fornisce metodi di fabbrica per ottenere un oggetto ResultSet. Alcuni metodi di interfaccia dell'istruzione sono executeQuery (), executeUpdate () ecc.
  • Interfaccia PreparedStatement: questa interfaccia aiuta quando le query SQL devono essere implementate più volte. Accetta i parametri di input durante il runtime.
  • Interfaccia CallableStatement: questa interfaccia viene utilizzata quando si accede alle procedure memorizzate. Accetta anche i parametri durante il runtime.
  • Interfaccia ResultSet: questa interfaccia consente di archiviare il risultato restituito dopo l'esecuzione delle query SQL.

Tipi di driver JDBC

Esistono quattro tipi di driver JDBC:

1. Driver di tipo 1 o bridge JDBC-ODBC: questo driver funge da bridge tra JDBC e ODBC. Converte le chiamate JDBC in chiamate ODBC e quindi invia la richiesta al driver ODBC. È facile da usare ma i tempi di esecuzione sono lenti.

2. Driver di tipo 2 o API nativa Driver Java parzialmente: questo driver utilizza la chiamata JNI (Java Native Interface) sull'API client nativa specifica del database. È relativamente più veloce del driver di tipo 1 ma richiede una libreria nativa e aumenta anche il costo dell'applicazione.

3. Driver di tipo 3 o driver del protocollo di rete: questi driver comunicano con il server middleware JDBC utilizzando un protocollo di rete proprietario. Questo middleware traduce il protocollo di rete in chiamate specifiche del database. Sono indipendenti dal database. Possono passare da un database a un altro ma sono lenti a causa di molte chiamate di rete.

4. Driver di tipo 4 o thin: questo driver è anche chiamato driver Java puro perché interagiscono direttamente con il database. Non richiede alcuna libreria nativa né server middleware. Ha prestazioni migliori rispetto ad altri driver ma relativamente lento a causa di un aumento di un numero di chiamate di rete.

Conclusione

Questo articolo specifica l'architettura JDBC, le sue interfacce e tipi di driver per comunicare o interagire con il database.

Ora i database di un giorno vengono mantenuti in ogni settore, quindi è necessario aggiornarli e recuperarne i dati. Quindi comprendere l'architettura aiuterebbe a comprendere i concetti di base di JDBC.

Articoli consigliati

Questa è stata una guida all'architettura JDBC. Qui abbiamo discusso i tipi di driver, interfacce e componenti di JDBC Architecture. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Come installare Java 8?
  2. Domande di intervista a JDBC
  3. Come installare Apache?

Categoria: