Come collegare il database in Java? - Interfacce e operazioni JDBC

Sommario:

Anonim

Come collegare il database in Java?

Durante la scrittura di un'applicazione IT utilizzando qualsiasi linguaggio di programmazione, il flusso di dati da e verso l'applicazione serve la funzionalità principale. Se il flusso di dati è in qualche modo interessato, può influire negativamente sulla funzionalità dell'applicazione e può causare una grave perdita per l'azienda.

Esistono oggi diversi metodi per collegare il tuo programma a un database al fine di fornire agli utenti le informazioni richieste, raccogliere informazioni dagli utenti, eliminare le informazioni come richiesto dall'utente e anche aggiornare i dati al database su base giornaliera.

Esamineremo uno di questi approcci utilizzando Java come nostro linguaggio di programmazione, JDBC come metodo di connettività del database e seguendo l'approccio orientato agli oggetti.

Che cos'è JDBC?

JDBC sta per Java Database Connectivity e aiuta un programma Java a eseguire diversi tipi di operazioni sul database come creare, leggere, aggiornare ed eliminare. Inoltre, JDBC è un'API Java.

Utilizzando JDBC, un programmatore dovrebbe essere in grado di:

  • Stabilire una connessione con il database
  • Esegui i comandi SQL inviandolo al database
  • Interpreta i risultati che provengono dal database

Creazione di un database per la connessione del database in Java

Prima di lavorare con JDBC, è necessario disporre di un database per connettersi ad esso. Faremo uso del database Oracle per il bene della nostra illustrazione. Scarica l'Oracle 11g Express Edition dal seguente link.

https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html

Ho già pronto il programma di installazione di Oracle 10g come puoi vedere di seguito:

Fonte : dal mio desktop

  • Fare doppio clic sul programma di installazione, verrà visualizzata la schermata di seguito. Fai clic su Avanti.

Fonte : dal mio desktop

  • Accetta il contratto di licenza e fai clic su Avanti.

Fonte : dal mio desktop

  • Conservare le impostazioni predefinite così come sono e fare clic su Avanti.

Fonte : dal mio desktop

  • Chiederà una password che sarà richiesta quando si accede all'istanza di Oracle 11g. Fornisci la password e fai clic su Avanti.

Fonte : dal mio desktop

  • Dopo aver fornito la password, inizierà il processo di installazione. Al termine dell'installazione, verrà creata un'icona di collegamento nella schermata del desktop. Se non riesci a trovarlo, vai su Windows Start e cerca Oracle, dovresti ottenerlo. Cliccaci sopra e aprirà un thin client per te tramite un browser. Accedi all'istanza. Si noti che il nome utente sarà lo stesso per Oracle DB ie sistema. La password sarà quella fornita durante la configurazione del database.

Fonte: dal mio desktop

  • Ora una volta effettuato l'accesso, la prima schermata che vedrai apparirà come di seguito:

Fonte: dal mio desktop

  • Ora creiamo una tabella. Fare clic sul modulo SQL dalla schermata sopra ed eseguire la query seguente.

Fonte: dal mio desktop

  • Come puoi vedere, abbiamo creato con successo una tabella con il nome Educba.

Collega database in Java

Esistono poche interfacce e classi utilizzate per connettersi a un database ed eseguire operazioni utilizzando l'API JDBC.

Spiegheremo uno per uno, ma vorrei prima presentarvi il seguente programma:



Fonte: dal mio desktop

Di seguito sono riportate le interfacce che utilizzeremo per connetterci al database ed eseguire operazioni su di esso:

  1. Driver Manager
  2. Connessione
  3. dichiarazione
  4. Set di risultati
  5. Discorso preparato

Esaminiamo le operazioni che possiamo eseguire come parte dell'operazione JDBC.

  1. Memorizzare i dati da un'entità a un database, ad esempio l'operazione di creazione
  2. Recupera i dati nell'entità o in un bean da un database
  3. Aggiorna i dati per l'entità o il bean nel database
  4. Elimina o rimuovi i dati sull'entità o su un bean dal database.

Indipendentemente dall'operazione che eseguiamo, ci sono alcuni passaggi di base che rimarrebbero gli stessi:

1. Caricare il driver.

Class. forName ("oracle.jdbc.driver.OracleDriver");

2. Creare una stringa URL

String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";

3. Utilizzare il gestore driver per creare una connessione

con=DriverManager.getConnection(URL, USERNAME, PASSWORD);

4. Utilizzare il riferimento Connessione per creare l'istruzione

stmt = conn.createStatement();

5. Utilizzare un'istruzione per eseguire la query

6. Elabora il set di risultati (opzionale, dipende)

7. Rilasciare le risorse nel blocco infine.

Illustrazione

Poiché stiamo utilizzando il database Oracle nella nostra illustrazione, dobbiamo disporre del driver richiesto che dovrebbe essere fornito da Oracle. La classe del driver è in genere sotto forma di file jar con nome ojdbc14.jar. Questo driver deve essere importato nel programma java come parte di "Librerie di riferimento" se non è presente.

Se Oracle 11g è stato installato nella cartella C, è possibile trovarlo idealmente nel percorso seguente: (Se non è presente, può essere facilmente scaricato da qui)

C: \ OracleXE \ app \ oracle \ product \ 10.2.0 \ server \ jdbc \ lib

Fonte: dal mio desktop

Dovrebbero essere disponibili molti file jar, tuttavia ojdbc14.jar è l'ultimo. Lo stesso può essere usato per il nostro scopo. Questo vaso dovrebbe essere aggiunto al percorso di classe del progetto. Si prega di controllare l'immagine qui sotto.

Fonte: dal mio desktop

Creiamo una tabella di artisti con i seguenti attributi: (Puoi eseguire direttamente la riga di comando SQL che viene fornita come un modulo separato dell'edizione Oracle Express. Ma prima devi connetterti e puoi eseguire il comando "connect" per connetterti a il database.

Fonte: dal mio desktop

Come parte di questa illustrazione, creeremmo tre classi Java come Artist.java, CreateTable.java e ArtistManagementDao.java per raggiungere questo obiettivo.

Anche nel livello Java, è necessario creare una classe chiamata bean Artist. Questa classe dovrebbe avere attributi dell'artista con il contesto sopra. Apparirà come di seguito:

Artist.java

Creiamo altre 2 classi Java con il nome ArtistManagementDao e CreateTable.java

ArtistManagementDao.java

package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao (
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
(
try (
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?, ?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
) catch (ClassNotFoundException e) (
// TODO Auto-generated catch block
System.out.println(e);
) catch (SQLException e) (
System.out.println(e);
)
)
)

CreateTable.java

package com;
import java.sql.*;
public class CreateTable(
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String() args) (
Connection conn = null;
Statement stmt = null;
try(
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database…");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database…");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
)catch(SQLException se)(
se.printStackTrace();
)catch(Exception e)(
e.printStackTrace();
)finally(
try(
if(stmt!=null)
conn.close();
)catch(SQLException se)(
)
try(
if(conn!=null)
conn.close();
)catch(SQLException se)(
se.printStackTrace();
)
)
)
)

CreateTable.java Spiegazione:

1. Abbiamo prima creato l'URL DB che dovrebbe avere il nome del tuo computer, così come il numero della porta DB (idealmente 1521), preceduto da JDBC: oracle: thin: @. Quindi abbiamo creato nome utente e password per passare questi attributi durante la connessione al database. Si consiglia vivamente di crittografare questi valori nell'ambiente di produzione.

2. Nella classe CreateTable.java, abbiamo creato rispettivamente un oggetto "am" e "a" delle classi ArtistManagementDao.java e Artist.java.

3. Quindi abbiamo provato a stabilire la nostra connessione seguendo i passaggi che abbiamo appreso in precedenza usando un'istruzione conn.

4. Quindi abbiamo creato una tabella con nome Artist3 e aggiornato il database o inviato questo al database usando l'istruzione execute.

5. Ora, se desideriamo assegnare valori agli attributi, utilizzeremo l'oggetto che abbiamo creato per la classe artista e prendiamo nota, non è questa classe che inserirà il valore nel database, piuttosto sarà Classe di gestione degli artisti. Al momento disponiamo già di valori memorizzati negli attributi e vedremo nella classe diurna come inviarli al database.

6. Infine, abbiamo usato l'oggetto "am" di ArtistManagementDao per passare questo oggetto "a" al metodo addArtist () della classe java ArtistManagementDao.

7. Abbiamo anche cercato di catturare blocchi per catturare eventuali eccezioni e buttare via lo stesso.

Spiegazione di ArtistManagementDao:

1. La classe Dao ci aiuta a isolare il livello applicazione / business dal livello di persistenza. Questo è di solito il database relazionale.

2. Abbiamo prima creato l'URL DB che dovrebbe avere il nome del tuo computer, così come il numero della porta DB (idealmente 1521), preceduto da JDBC: oracle: thin: @. Quindi abbiamo creato nome utente e password per passare questi attributi durante la connessione al database. Si consiglia vivamente di crittografare questi valori nell'ambiente di produzione.

3. All'interno del metodo addArtist, abbiamo cercato di stabilire la nostra connessione seguendo i passaggi che abbiamo appreso in precedenza utilizzando un'istruzione conn.

4. Ora, abbiamo usato il metodo insert per inviare valori dagli attributi al database.

5. Nella prossima istruzione, al fine di testare, abbiamo l'istruzione get per recuperare i valori dal database.

6. Abbiamo anche cercato di catturare blocchi per catturare eventuali eccezioni e buttare via lo stesso.

Articoli consigliati

Questa è stata una guida su come collegare il database in Java. Qui abbiamo discusso su come connettere Database in Java insieme a interfacce e classi utilizzate per connettere un database. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Che cos'è SQL Server?
  2. I Big Data sono un database?
  3. Come funziona JavaScript
  4. Domande di intervista multithreading in Java