Hoe database te verbinden in Java?

Tijdens het schrijven van een IT-toepassing met elke programmeertaal dient de gegevensstroom van en naar de toepassing de kernfunctionaliteit. Als de gegevensstroom op de een of andere manier wordt beïnvloed, kan dit de functionaliteit van de applicatie nadelig beïnvloeden en kan het bedrijf grote verliezen lijden.

Er zijn vandaag verschillende methoden beschikbaar om uw programma te verbinden met een database om gebruikers de informatie te verstrekken waarom ze vragen, informatie van gebruikers te verzamelen, de informatie te verwijderen zoals vereist door de gebruiker en ook om dagelijks gegevens naar de database bij te werken.

We gaan naar een dergelijke benadering kijken door Java te gebruiken als onze programmeertaal, JDBC als database-verbindingsmethode en de objectgeoriënteerde benadering te volgen.

Wat is JDBC?

JDBC staat voor Java Database Connectivity en het helpt een Java-programma verschillende soorten bewerkingen over de database uit te voeren, zoals maken, lezen, bijwerken en verwijderen. JDBC is ook een Java API.

Door JDBC te gebruiken, zou een programmeur in staat moeten zijn om:

  • Breng een verbinding tot stand met Database
  • Voer SQL-opdrachten uit door deze naar de database te verzenden
  • Interpreteert de resultaten die uit de database komen

Een database maken om de database te verbinden in Java

Voordat u met JDBC werkt, moet u een database hebben om er verbinding mee te kunnen maken. Ter illustratie zullen we de Oracle-database gebruiken. Download oracle 11g express-editie van onderstaande link.

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

Ik heb het Oracle 10g-installatieprogramma al bij me, zoals je hieronder kunt zien:

Bron : vanaf mijn bureaublad

  • Dubbelklik op het installatieprogramma, onderstaand scherm verschijnt. Klik volgende.

Bron : vanaf mijn bureaublad

  • Accepteer de licentieovereenkomst en klik op volgende.

Bron : vanaf mijn bureaublad

  • Bewaar de standaardinstellingen zoals deze zijn en klik op volgende.

Bron : vanaf mijn bureaublad

  • Er wordt om een ​​wachtwoord gevraagd dat vereist is wanneer u zich aanmeldt bij Oracle 11g-instantie. Voer het wachtwoord in en klik op volgende.

Bron : vanaf mijn bureaublad

  • Nadat u het wachtwoord hebt opgegeven, begint het installatieproces. Nadat de installatie is voltooid, wordt er een snelkoppelingspictogram op uw bureaubladscherm gemaakt. Als u het niet kunt vinden, ga dan naar Windows Start en zoek naar Oracle, u zou het moeten krijgen. Klik erop en het zal een thin client voor u openen via een browser. Log in op het exemplaar. Houd er rekening mee dat de gebruikersnaam hetzelfde is voor Oracle DB ie systeem. Het wachtwoord is het wachtwoord dat u hebt opgegeven tijdens het configureren van de database.

Bron: vanaf mijn bureaublad

  • Zodra u zich aanmeldt, ziet het eerste scherm dat u ziet er hieronder uit:

Bron: vanaf mijn bureaublad

  • Laten we nu een tabel maken. Klik in het bovenstaande scherm op de SQL-module en voer de onderstaande query uit.

Bron: vanaf mijn bureaublad

  • Zoals u ziet, hebben we met succes een tabel gemaakt met de naam Educba.

Verbind database in Java

Er zijn weinig interfaces en klassen die worden gebruikt om verbinding te maken met een database en bewerkingen uit te voeren met behulp van JDBC API.

We zullen het een voor een uitleggen, maar ik zal u eerst het onderstaande programma presenteren:



Bron: vanaf mijn bureaublad

Hieronder staan ​​de interfaces die we zullen gebruiken om verbinding te maken met Database en er bewerkingen over uit te voeren:

  1. Driver Manager
  2. Verbinding
  3. Uitspraak
  4. Resultaat ingesteld
  5. Opgestelde verklaring

Laten we eens kijken naar de bewerkingen die we kunnen uitvoeren als onderdeel van de JDBC-bewerking.

  1. Sla de gegevens van een entiteit op in een database, dwz de create-bewerking
  2. Haal de gegevens uit een database op voor de entiteit of een bean
  3. Werk de gegevens voor de entiteit of de bean in de database bij
  4. Verwijder of verwijder de gegevens van de entiteit of een bean uit de database.

Welke bewerking we ook uitvoeren, er zijn enkele basisstappen die hetzelfde blijven:

1. Laad de bestuurder.

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

2. Maak een URL-tekenreeks

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

3. Gebruik de driver manager om een ​​verbinding te maken

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

4. Gebruik Verbindingsreferentie om Verklaring te maken

stmt = conn.createStatement();

5. Gebruik een instructie om de query uit te voeren

6. Verwerk de resultatenset (optioneel, afhankelijk)

7. Laat de bronnen in eindelijk blokkeren vrij.

Illustratie

Omdat we de Oracle-database in onze afbeelding gebruiken, moeten we het vereiste stuurprogramma hebben dat door Oracle moet worden geleverd. De stuurprogrammaklasse heeft meestal de vorm van een jar-bestand met de naam ojdbc14.jar. Dit stuurprogramma moet worden geïmporteerd in uw Java-programma als onderdeel van "Verwijzende bibliotheken" als het er niet is.

Als u Oracle 11g in uw C-map hebt geïnstalleerd, kunt u dit idealiter vinden in het onderstaande pad: (Als het er niet is, kunt u het hier eenvoudig downloaden)

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

Bron: vanaf mijn bureaublad

Er moeten veel jar-bestanden beschikbaar zijn, maar ojdbc14.jar is de nieuwste. Hetzelfde kan voor ons doel worden gebruikt. Deze pot moet worden toegevoegd aan het classpath van het project. Controleer de onderstaande afbeelding.

Bron: vanaf mijn bureaublad

Laten we een kunstenaarstabel maken met de volgende kenmerken: (U kunt direct de SQL-opdrachtregel uitvoeren die wordt geleverd als een afzonderlijke module van de Oracle Express-editie. Maar eerst moet u verbinding maken en kunt u de opdracht "verbinden" uitvoeren om verbinding te maken met de databank.

Bron: vanaf mijn bureaublad

Als onderdeel van deze illustratie zouden we drie Java-klassen maken, namelijk Artist.java, CreateTable.java en ArtistManagementatri.java om dit te bereiken.

Ook in de Java-laag moeten we een klasse maken met de naam Artist bean. Deze klasse moet attributen van de artiest hebben met de bovenstaande context. Het ziet er als volgt uit:

Artist.java

Laten we 2 andere Java-klassen maken met de naam ArtistManagementatri en 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 Verklaring:

1. We hebben eerst een DB-URL gemaakt met uw computernaam en DB-poortnummer (idealiter 1521), voorafgegaan door JDBC: oracle: thin: @. Vervolgens hebben we een gebruikersnaam en wachtwoord gemaakt om deze kenmerken door te geven tijdens de databaseverbinding. Het wordt ten zeerste aanbevolen om deze waarden in de productieomgeving te coderen.

2. In de klasse CreateTable.java hebben we een object "am" en "a" van respectievelijk de klasse ArtistManagementication.java en Artist.java gemaakt.

3. Vervolgens probeerden we onze verbinding tot stand te brengen door de stappen te volgen die we eerder hebben geleerd met behulp van een conn-instructie.

4. Vervolgens hebben we een tabel met de naam Artist3 gemaakt en de database bijgewerkt of deze naar de database gepusht met behulp van de opdracht statement.

5. Als we nu waarden aan de attributen willen toewijzen, zullen we het object gebruiken dat we voor de artiestenklasse hebben gemaakt en een notitie maken, het is niet deze klasse die de waarde in de database invoegt, maar Kunstenaarsmanagement klas. We hebben al waarden opgeslagen in attributen vanaf nu en we zullen in day class zien hoe dit naar de database te pushen.

6. Ten slotte hebben we het "am" -object van ArtistManagementication gebruikt om dit object "a" door te geven aan de methode addArtist () van de Java-klasse ArtistManagementatri.

7. We hebben ook altijd geprobeerd blok te vangen voor het vangen van uitzonderingen en het weggooien van hetzelfde.

ArtistManagementatri Uitleg:

1. De Dao-klasse helpt ons de applicatie- / bedrijfslaag te isoleren van de persistentielaag. Dit is meestal de relationele database.

2. We hebben eerst een DB-URL gemaakt met uw computernaam en DB-poortnummer (idealiter 1521), voorafgegaan door JDBC: oracle: thin: @. Vervolgens hebben we een gebruikersnaam en wachtwoord gemaakt om deze kenmerken door te geven tijdens de databaseverbinding. Het wordt ten zeerste aanbevolen om deze waarden in de productieomgeving te coderen.

3. Binnen de addArtist-methode hebben we geprobeerd onze verbinding tot stand te brengen door de stappen te volgen die we eerder hebben geleerd met behulp van een conn-instructie.

4. Nu hebben we de invoegmethode gebruikt om waarden van attributen naar de database te pushen.

5. In de volgende instructie, om te testen, hebben we de instructie get om waarden uit de database op te halen.

6. We hebben ook altijd geprobeerd blok te vangen voor het vangen van uitzonderingen en het weggooien van hetzelfde.

Aanbevolen artikelen

Dit is een handleiding geweest voor het verbinden van de database in Java. Hier hebben we besproken hoe Database in Java te verbinden, samen met interfaces en klassen die worden gebruikt om een ​​database te verbinden. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Wat is SQL Server?
  2. Is big data een database?
  3. Hoe JavaScript werkt
  4. Multithreading-sollicitatievragen op Java

Categorie: