Wie verbinde ich eine Datenbank in Java? - Schnittstellen und JDBC-Betrieb

Inhaltsverzeichnis:

Anonim

Wie verbinde ich eine Datenbank in Java?

Beim Schreiben einer IT-Anwendung mit einer beliebigen Programmiersprache dient der Datenfluss von und zur Anwendung der Kernfunktionalität. Wenn der Datenfluss auf irgendeine Weise beeinträchtigt wird, kann dies die Anwendungsfunktionalität beeinträchtigen und einen großen Geschäftsverlust verursachen.

Heutzutage stehen verschiedene Methoden zum Verbinden Ihres Programms mit einer Datenbank zur Verfügung, um Benutzern die von ihnen angeforderten Informationen bereitzustellen, Informationen von Benutzern zu sammeln, die vom Benutzer angeforderten Informationen zu löschen und die Daten in der Datenbank täglich zu aktualisieren.

Wir werden einen solchen Ansatz untersuchen, indem wir Java als Programmiersprache, JDBC als Datenbankverbindungsmethode, verwenden und dem objektorientierten Ansatz folgen.

Was ist JDBC?

JDBC steht für Java Database Connectivity und hilft einem Java-Programm, verschiedene Arten von Operationen über die Datenbank auszuführen, z. B. Erstellen, Lesen, Aktualisieren und Löschen. JDBC ist auch eine Java-API.

Durch die Verwendung von JDBC sollte ein Programmierer in der Lage sein:

  • Stellen Sie eine Verbindung mit der Datenbank her
  • Führen Sie SQL-Befehle aus, indem Sie sie an die Datenbank senden
  • Interpretiert die Ergebnisse aus der Datenbank

Erstellen einer Datenbank zum Verbinden einer Datenbank in Java

Vor der Arbeit mit JDBC muss eine Datenbank vorhanden sein, damit eine Verbindung hergestellt werden kann. Wir werden zur Veranschaulichung auf die Oracle-Datenbank zurückgreifen. Bitte laden Sie die Oracle 11g Express Edition von untenstehendem Link herunter.

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

Ich habe bereits das Oracle 10g-Installationsprogramm bei mir, wie Sie unten sehen können:

Quelle : Von meinem Desktop

  • Bitte doppelklicken Sie auf das Installationsprogramm. Der folgende Bildschirm wird angezeigt. Weiter klicken.

Quelle : Von meinem Desktop

  • Bitte akzeptieren Sie die Lizenzvereinbarung und klicken Sie auf Weiter.

Quelle : Von meinem Desktop

  • Bitte behalten Sie die Standardeinstellungen bei und klicken Sie auf Weiter.

Quelle : Von meinem Desktop

  • Sie werden nach einem Kennwort gefragt, das erforderlich ist, wenn Sie sich bei der Oracle 11g-Instanz anmelden. Bitte geben Sie das Passwort ein und klicken Sie auf Weiter.

Quelle : Von meinem Desktop

  • Nachdem Sie das Kennwort eingegeben haben, beginnt der Installationsvorgang. Nach Abschluss der Installation wird auf Ihrem Desktop ein Verknüpfungssymbol erstellt. Wenn Sie es nicht finden können, gehen Sie zu Windows Start und suchen Sie nach Oracle. Sie sollten es bekommen. Klicken Sie darauf und es wird ein Thin Client über einen Browser für Sie geöffnet. Melden Sie sich bei der Instanz an. Bitte beachten Sie, dass der Benutzername für Oracle DB bzw. das System identisch ist. Das Kennwort ist dasjenige, das Sie bei der Konfiguration der Datenbank angegeben haben.

Quelle: Von meinem Desktop

  • Sobald Sie sich angemeldet haben, sieht der allererste Bildschirm wie folgt aus:

Quelle: Von meinem Desktop

  • Jetzt erstellen wir eine Tabelle. Klicken Sie im obigen Bildschirm auf das SQL-Modul und führen Sie die folgende Abfrage aus.

Quelle: Von meinem Desktop

  • Wie Sie sehen, haben wir erfolgreich eine Tabelle mit dem Namen Educba erstellt.

Verbinden Sie die Datenbank in Java

Es gibt nur wenige Schnittstellen und Klassen, die zum Herstellen einer Verbindung mit einer Datenbank und zum Ausführen von Vorgängen mithilfe der JDBC-API verwendet werden.

Wir werden eins nach dem anderen erklären, aber lassen Sie mich zuerst das folgende Programm vorstellen:



Quelle: Von meinem Desktop

Nachfolgend sind die Schnittstellen aufgeführt, über die die Verbindung zur Datenbank hergestellt und Vorgänge ausgeführt werden:

  1. Treiber-Manager
  2. Verbindung
  3. Erklärung
  4. Ergebnismenge
  5. Vorbereitete Erklärung

Betrachten wir die Operationen, die wir als Teil der JDBC-Operation ausführen können.

  1. Speichern Sie die Daten einer Entität in einer Datenbank, dh in der Erstellungsoperation
  2. Rufen Sie die Daten für die Entität oder eine Bean aus einer Datenbank ab
  3. Aktualisieren Sie die Daten für die Entität oder die Bean in der Datenbank
  4. Löschen oder entfernen Sie die Daten der Entität oder einer Bean aus der Datenbank.

Unabhängig davon, welche Operation wir ausführen, gibt es einige grundlegende Schritte, die gleich bleiben würden:

1. Laden Sie den Treiber.

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

2. Erstellen Sie eine URL-Zeichenfolge

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

3. Verwenden Sie den Treiber-Manager, um eine Verbindung herzustellen

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

4. Verwenden Sie die Verbindungsreferenz, um eine Anweisung zu erstellen

stmt = conn.createStatement();

5. Verwenden Sie eine Anweisung, um die Abfrage auszuführen

6. Verarbeiten Sie die Ergebnismenge (optional, abhängig)

7. Geben Sie die Ressourcen in finally-Block frei.

Illustration

Da wir in unserer Abbildung die Oracle-Datenbank verwenden, benötigen wir den erforderlichen Treiber, der von Oracle bereitgestellt werden sollte. Die Treiberklasse hat normalerweise die Form einer JAR-Datei mit dem Namen ojdbc14.jar. Dieser Treiber sollte als Teil von "Referenzierte Bibliotheken" in Ihr Java-Programm importiert werden, wenn er nicht vorhanden ist.

Wenn Sie Oracle 11g in Ihrem C-Ordner installiert haben, finden Sie es idealerweise im folgenden Pfad: (Wenn es nicht vorhanden ist, kann es einfach von hier heruntergeladen werden.)

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

Quelle: Von meinem Desktop

Viele JAR-Dateien sollten verfügbar sein, jedoch ist ojdbc14.jar die neueste. Das gleiche kann für unseren Zweck verwendet werden. Dieses Glas sollte dem Klassenpfad des Projekts hinzugefügt werden. Bitte überprüfen Sie das folgende Bild.

Quelle: Von meinem Desktop

Lassen Sie uns eine Künstlertabelle mit folgenden Attributen erstellen: (Sie können die SQL-Befehlszeile, die als separates Modul der Oracle Express Edition geliefert wird, direkt ausführen. Sie müssen jedoch zuerst eine Verbindung herstellen und können den Befehl "connect" ausführen, um eine Verbindung herzustellen die Datenbank.

Quelle: Von meinem Desktop

Als Teil dieser Abbildung würden wir drei Java-Klassen erstellen, nämlich Artist.java, CreateTable.java und ArtistManagementDao.java, um dies zu erreichen.

Auch in der Java-Ebene müssen wir eine Klasse namens Artist Bean erstellen. Diese Klasse sollte Attribute des Künstlers mit dem obigen Kontext haben. Es wird wie folgt aussehen:

Artist.java

Lassen Sie uns zwei weitere Java-Klassen mit dem Namen ArtistManagementDao und CreateTable.java erstellen

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 Erläuterung:

1. Wir haben zuerst eine DB-URL erstellt, die Ihren Computernamen sowie die DB-Portnummer (idealerweise 1521) enthalten sollte, denen JDBC: oracle: thin: @ vorangestellt ist. Anschließend haben wir einen Benutzernamen und ein Kennwort erstellt, um diese Attribute während der Zeit der Datenbankverbindung weiterzugeben. Es wird dringend empfohlen, diese Werte in der Produktionsumgebung zu verschlüsseln.

2. In der CreateTable.java-Klasse haben wir ein Objekt "am" und "a" der ArtistManagementDao.java- bzw. Artist.java-Klasse erstellt.

3. Dann haben wir versucht, unsere Verbindung herzustellen, indem wir die zuvor gelernten Schritte mit einer conn-Anweisung ausgeführt haben.

4. Anschließend haben wir eine Tabelle mit dem Namen Artist3 erstellt und die Datenbank aktualisiert oder diese mit der Anweisung execute the in die Datenbank verschoben.

5. Wenn wir nun den Attributen Werte zuweisen möchten, verwenden wir das Objekt, das wir für die Künstlerklasse erstellt haben, und machen eine Notiz. Es ist nicht diese Klasse, die den Wert in die Datenbank einfügt, sondern es wird sein ArtistmanagementDao Klasse. Wir haben bereits Werte in Attributen gespeichert und wir werden in der Tagesklasse sehen, wie dies in die Datenbank übertragen wird.

6. Schließlich haben wir das Objekt "am" von ArtistManagementDao verwendet, um dieses Objekt "a" an die Methode addArtist () der Java-Klasse ArtistManagementDao zu übergeben.

7. Wir haben auch versucht, einen Block zu fangen, um Ausnahmen abzufangen und diese wegzuwerfen.

ArtistManagementDao Erklärung:

1. Die Dao-Klasse hilft uns, die Anwendungs- / Geschäftsschicht von der Persistenzschicht zu isolieren. Dies ist normalerweise die relationale Datenbank.

2. Wir haben zuerst eine DB-URL erstellt, die Ihren Computernamen sowie die DB-Portnummer (idealerweise 1521) enthalten sollte, denen JDBC: oracle: thin: @ vorangestellt ist. Anschließend haben wir einen Benutzernamen und ein Kennwort erstellt, um diese Attribute während der Zeit der Datenbankverbindung weiterzugeben. Es wird dringend empfohlen, diese Werte in der Produktionsumgebung zu verschlüsseln.

3. In der addArtist-Methode haben wir versucht, unsere Verbindung herzustellen, indem wir die zuvor mit einer conn-Anweisung erlernten Schritte ausgeführt haben.

4. Jetzt haben wir die Einfügemethode verwendet, um Werte von Attributen in die Datenbank zu übertragen.

5. In der nächsten Anweisung haben wir zum Testen die Anweisung get, um Werte aus der Datenbank abzurufen.

6. Wir haben auch versucht, einen Block zu fangen, um Ausnahmen abzufangen und diese wegzuwerfen.

Empfohlene Artikel

Dies ist eine Anleitung zum Verbinden von Datenbanken in Java. Hier haben wir besprochen, wie man eine Datenbank in Java zusammen mit Schnittstellen und Klassen verbindet, die verwendet werden, um eine Datenbank zu verbinden. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Was ist SQL Server?
  2. Ist Big Data eine Datenbank?
  3. Wie funktioniert JavaScript?
  4. Fragen im Vorstellungsgespräch für Multithreading in Java