Come connettersi a un database in Java? - Tutorial JDBC



Questo articolo ti spiegherà come connettere il database MySQL in Java. JDBC è una delle API Java standard per la connettività indipendente dal database tra Java e un'ampia gamma di database.

, essendo uno dei linguaggi di programmazione più importanti, fornisce un ampio supporto ai database. Ci aiuta a connetterci a vari database tramite (Java Database Connectivity). In questo articolo, ti dirò come connettersi a un database ed eseguire query utilizzando JDBC.

Gli argomenti seguenti sono trattati in questo articolo:





Introduzione a JDBC

JDBC è una delle API Java standard per la connettività indipendente dal database tra e un'ampia gamma di database.Questa API ti consente di codificare le istruzioni di richiesta di accesso, in Structured Query Language (SQL). Questoriguarda principalmente l'apertura di una connessione, la creazione di un database SQL, l'esecuzione di query SQL e quindi l'arrivo all'output.

L'API JDBC può essere utilizzata per accedere ai dati tabulari archiviati in qualsiasi database relazionale. Con questo, puoi aggiornare, salvare, recuperare ed eliminare i dati dai database. È simile all'Open Database Connectivity (ODBC) fornito da Microsoft.



Per una migliore comprensione del funzionamento di JDBC, approfondiamo l'argomento e comprendiamo l'architettura che si trova dietro Java Database Connectivity.

Componenti JDBC comuni

L'API JDBC fornisce le seguenti interfacce, classi e meno

  • DriverManager: Viene utilizzato principalmente per gestire un elenco di driver di database. Il driver che riconosce un determinato sottoprotocollo verrà utilizzato per stabilire una connessione al database.



  • L'autista è un'interfaccia che gestisce le comunicazioni con il server database. Inoltre astrae i dettagliassociati durante l'utilizzo di oggetti Driver.

  • Una connessione è un'interfaccia composta da tutti i metodi necessari per connettersi a un database. L'oggetto connessione si occupa delle funzioni di comunicazione del database. contesto.

Passiamo ora all'argomento successivo e guardiamo i passaggi necessari per creare un'applicazione JDBC.

Passaggi per creare l'applicazione JDBC

Per creare un'applicazione JDBC, è necessario seguire alcuni passaggi. Vediamo cosa sono.

Passaggi per creare l

  1. Importa i pacchetti: È necessario includere tutti i pacchetti che contengono le classi JDBC necessarie per programmazione di database . Molto spesso, usando importa java.sql. * sarà sufficiente.

  2. Registrare il driver JDBC: Qui devi inizializzare un driver in modo da poter aprire un canale di comunicazione con il database.

  3. Apri una connessione: Qui puoi usare il file getConnection () metodo per creare un oggetto Connection, che rappresenta una connessione fisica con il database.

  4. Esegui una query: Ciò richiede effettivamente l'utilizzo di un oggetto di tipo Statement per la creazione e l'invio di un'istruzione SQL al database.

  5. Estrai i dati dal set di risultati: Si suggerisce di utilizzare l'appropriato getXXX () metodo per recuperare i dati dal set di risultati.

  6. Pulisci l'ambiente: Qui è essenzialechiudere in modo esplicito tutte le risorse del database anziché affidarsi alla garbage collection della JVM.

Dopo aver visto i vari passaggi coinvolti per creare un'applicazione JDBC, vediamo un codice di esempio per creare un database e stabilire una connessione.

package Edureka import java.sql. * import java.sql.DriverManager public class Esempio {// JDBC driver name e database URL static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc: mysql: // localhost / emp '// Database credentials static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : Registra il driver JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // PASSAGGIO 3: Apri una connessione System.out.println ('Connessione al database ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // PASSAGGIO 4: eseguire una query System.out.println ('Creating statement ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM Employees 'ResultSet rs = stmt.executeQuery (sql) // PASSAGGIO 5: Estrai i dati dal set di risultati while (rs.next ()) {// Recupera per nome colonna int id = rs.getInt (' id ') int age = rs.getInt ('age') String first = rs.getString ('first') String last = rs.getString ('last') // Visualizza i valori System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // PASSAGGIO 6: Clean-up environment rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Gestisci errori per JDBC se.printStackTrace ()} catch (eccezione e) {// Gestisci errori per Class.forName e.printStackTrace ()} finalmente {// finalmente blocco utilizzato per chiudere le risorse try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // non si può fare nulla try {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finalmente prova} // fine prova System.out.println ('Goodbye!')} // end main} // end Esempio

Il codice precedente crea una tabella nel database localhost. Per inserire i valori nel database creato è possibile fare riferimento al codice sottostante. Scriverò il codice solo per il passaggio 4. Il resto del codice rimane lo stesso di sopra.

// PASSAGGIO 4: eseguire una query System.out.println ('Creazione della tabella nel database specificato ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER non NULL,' + 'first VARCHAR (255),' + 'last VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Created table in given database ... ') System.out.println (' Inserimento record nella tabella ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Record inseriti nella tabella. .. ')

Quindi è così che puoi stabilire una connessione al database e inserire valori nelle tabelle. Ora andiamo oltre e comprendiamo vari tipi di driver JDBC

Tipi di driver JDBC

I driver JDBC vengono utilizzati per implementare le interfacce definite nell'API JDBC, per interagire con il server database.In sostanza, a Driver JDBC fa tre cose e sono le seguenti:
1. Stabilisce una connessione con un'origine dati.
2. Invierà query e istruzioni di aggiornamento all'origine dati.
3. Infine, elabora i risultati.

Ad esempio, i driver JDBC aiutano ad aprire una connessione al database per interagire con essa inviando . Se desideri saperne di più sui tipi di driver JDBC, puoi fare riferimento a questo articolo su .

Ora andiamo oltre e comprendiamo le connessioni JDBC.

Connessioni JDBC

  • Importa pacchetti JDBC: Inserisci importare dichiarazioni al tuo per importare le classi richieste nel codice Java.

  • Registra driver JDBC: In t il suo passo, per caricare l'implementazione del driver desiderata in memoria in modo che possa soddisfare le richieste JDBC. Esistono 2 approcci per registrare un conducente.

    • L'approccio più adatto per registrare un driver è utilizzare Java forName () metodo per caricare dinamicamente il file di classe del conducente in memoria , che lo registra automaticamente. Questo metodo è adatto in quanto consente di rendere configurabile e portabile la registrazione del driver. Dai un'occhiata al codice seguente:

      prova {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Errore: impossibile caricare la classe del driver!') System.exit (1)}
    • Il secondo approccio che puoi usare per registrare un driver è usare lo static registerDriver () metodo.

      prova {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Errore: impossibile caricare la classe del driver!') System.exit (1 )}
  • Dovresti usare il file registerDriver () se si utilizza una JVM non conforme a JDK, come quella fornita da Microsoft. Qui ogni modulo richiede un database URL .

  • Formulazione URL database: La formulazione URL è necessaria per creare un indirizzo formattato correttamente che punti al database a cui si desidera connettersi. Dopo aver caricato il driver, è possibile stabilire una connessione utilizzando il file DriverManager.getConnection () metodo. I metodi DriverManager.getConnection () sono & meno

    • getConnection (URL stringa)

    • getConnection (URL stringa, proprietà prop)

    • getConnection (URL stringa, utente stringa, password stringa)

  • Crea un oggetto di connessione

È possibile creare una connessione utilizzando l'URL del database, il nome utente e la password e anche l'oggetto proprietà.

come cambiare il percorso java
  • Vicino

Infine, per terminare la sessione del database, è necessario chiudere tutte le connessioni al database. Tuttavia, se dimentichi, il garbage collector di Java chiuderà la connessione quando ripulirà gli oggetti obsoleti.

conn.close () // Usato per chiudere la connessione

Tutto ruotava intorno alla connettività del database Java. Se desideri saperne di più su JDBC, puoi fare riferimento a questo articolo su . Questo ci porta alla fine dell'articolo su 'come connettersi a un database'. Spero di aver messo in luce le tue conoscenze su JDBC.

Controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare oltre a queste domande di intervista Java, abbiamo creato un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di questo articolo 'come connettersi a un database' e ti risponderemo il prima possibile.