Hvordan koble databasen i Java? - Grensesnitt og JDBC-drift

Innholdsfortegnelse:

Anonim

Hvordan koble databasen i Java?

Mens du skriver en IT-applikasjon ved å bruke et hvilket som helst programmeringsspråk, tjener strømmen av data fra og til applikasjonen kjernefunksjonaliteten. Hvis dataflyten på en eller annen måte blir påvirket, kan det påvirke applikasjonsfunksjonaliteten negativt og kan føre til et stort tap for virksomheten.

Det er forskjellige metoder tilgjengelig i dag for å koble programmet ditt til en database for å gi brukerne informasjonen de ber om, samle informasjon fra brukere, slette informasjonen som kreves av brukeren og også for å oppdatere data til databasen på daglig basis.

Vi kommer til å se på en slik tilnærming ved å bruke Java som programmeringsspråk, JDBC som databasetilkoblingsmetode og følge den objektorienterte tilnærmingen.

Hva er JDBC?

JDBC står for Java Database Connectivity og det hjelper et Java-program med å utføre forskjellige typer operasjoner over databasen som å opprette, lese, oppdatere og slette. Dessuten er JDBC et Java API.

Ved å bruke JDBC, bør en programmerer kunne:

  • Opprett en forbindelse med databasen
  • Kjør SQL-kommandoer ved å sende dem til database
  • Tolker resultatene som kommer fra databasen

Opprette en database for å koble til database i Java

Før du jobber med JDBC, er det påkrevd å ha en database for å koble til den. Vi bruker Oracle-databasen for illustrasjonens skyld. Last ned oracle 11g ekspressutgave fra lenken nedenfor.

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

Jeg har allerede Oracle 10g installasjonsprogramvare klar med meg som du kan se nedenfor:

Kilde : Fra skrivebordet mitt

  • Dobbeltklikk på installasjonsprogrammet, under skjermen dukker det opp. Klikk på neste.

Kilde : Fra skrivebordet mitt

  • Godta lisensavtalen og klikk på neste.

Kilde : Fra skrivebordet mitt

  • Hold standardinnstillingene som de, og klikk på neste.

Kilde : Fra skrivebordet mitt

  • Den vil be om et passord som vil være nødvendig når du logger deg på Oracle 11g-instansen. Oppgi passordet og klikk på neste.

Kilde : Fra skrivebordet mitt

  • Etter at du har oppgitt passordet, vil installasjonsprosessen starte. Når installasjonen er ferdig, skal det opprettes et snarveisikon på skrivebordets skjerm. Hvis du ikke finner det, kan du gå til windows start og søke etter Oracle, bør du få det. Klikk på den, så åpner den en tynn klient for deg via en nettleser. Logg på forekomsten. Vær oppmerksom på at brukernavnet vil være det samme for Oracle DB dvs. system. Passordet er det du oppga når du konfigurerte databasen.

Kilde: Fra skrivebordet mitt

  • Når du først logger deg på, vil den aller første skjermen du ser, se ut nedenfor:

Kilde: Fra skrivebordet mitt

  • La oss nå lage et bord. Vennligst klikk på SQL-modulen fra skjermbildet over og kjør spørringen nedenfor.

Kilde: Fra skrivebordet mitt

  • Som du kan se, har vi opprettet en tabell med navnet Educba.

Koble til databasen i Java

Det er få grensesnitt og klasser som brukes for å koble til en database og utføre operasjoner ved hjelp av JDBC API.

Vi vil forklare en etter en, men la meg først presentere programmet nedenfor:



Kilde: Fra skrivebordet mitt

Nedenfor er grensesnittene som vi bruker for å koble til databasen og utføre operasjoner over den:

  1. Sjåførsjef
  2. Forbindelse
  3. Uttalelse
  4. Resultat satt
  5. Utarbeidet uttalelse

La oss se på operasjonene som vi kan utføre som en del av JDBC-operasjonen.

  1. Lagre dataene fra en enhet til en database, dvs. opprette operasjonen
  2. Hent dataene til enheten eller en bønne fra en database
  3. Oppdater dataene for enheten eller bønnen i databasen
  4. Slett eller fjern dataene om enheten eller en bønne fra databasen.

Uansett hvilken operasjon vi utfører, er det noen grunnleggende trinn som vil forbli de samme:

1. Last inn driveren.

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

2. Opprett en URL-streng

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

3. Bruk driverbehandleren til å opprette en forbindelse

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

4. Bruk tilkoblingsreferanse for å opprette uttalelse

stmt = conn.createStatement();

5. Bruk en uttalelse til å utføre spørringen

6. Behandle resultatsettet (valgfritt, avhenger)

7. Slipp ressursene i endelig blokkering.

Illustrasjon

Når vi bruker Oracle-databasen i illustrasjonen vår, må vi ha den nødvendige driveren som skal leveres av Oracle. Driverklassen er vanligvis i form av krukkefil med navn ojdbc14.jar. Denne driveren skal importeres til java-programmet ditt som en del av “Refererte biblioteker” hvis den ikke er der.

Hvis du har installert Oracle 11g i C-mappen din, kan den ideelt sett finnes på stien nedenfor: (Hvis den ikke er der, kan den enkelt lastes ned herfra)

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

Kilde: Fra skrivebordet mitt

Mange glassfiler bør være tilgjengelige, men ojdbc14.jar er den siste. Det samme kan brukes til vårt formål. Denne beholderen bør legges til prosjektstien. Vennligst sjekk bildet nedenfor.

Kilde: Fra skrivebordet mitt

La oss lage et artisttabell med følgende attributter: (Du kan direkte kjøre SQL-kommandolinjen som kommer som en egen modul i Oracle Express-utgaven. Men først må du koble til, og du kan utføre “koble” -kommandoen for å koble til databasen.

Kilde: Fra skrivebordet mitt

Som en del av denne illustrasjonen, vil vi lage tre java-klasser, dvs. Artist.java, CreateTable.java og ArtistManagementDao.java for å oppnå dette.

Også i java-laget må vi lage en klasse som heter Artist bean. Denne klassen skal ha attributter til artisten med konteksten ovenfor. Det vil se slik ut nedenfor:

Artist.java

La oss lage to andre java-klasser med navnet ArtistManagementDao og 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 Forklaring:

1. Vi har først opprettet DB URL som skal ha datamaskinnavnet ditt, så vel som DB-portnummeret (ideelt 1521), foran JDBC: oracle: thin: @. Så har vi opprettet brukernavn og passord for å kunne passere disse attributtene i løpet av databasetilkoblingen. Det anbefales sterkt å kryptere disse verdiene i produksjonsmiljøet.

2. I CreateTable.java-klassen har vi opprettet et objekt “am” og “a” av henholdsvis ArtistManagementDao.java og Artist.java.

3. Så prøvde vi å etablere forbindelsen vår ved å følge trinnene vi har lært tidligere ved å bruke en conn-setning.

4. Så har vi laget en tabell med navn Artist3 og oppdatert databasen eller presset denne til databasen ved å bruke utføringen.

5. Hvis vi nå ønsker å tildele verdier til attributtene, vil vi benytte oss av objektet som vi har opprettet for artistklasse og notere, det er ikke denne klassen som vil sette inn verdien til Database, heller vil den være ArtistmanagementDao-klasse. Vi har allerede lagret verdier i attributter som nå, og vi vil se i dagsklasse hvordan du kan skyve dette til databasen.

6. Endelig har vi brukt “am” -objektet fra ArtistManagementDao for å gi dette objektet “a” til metoden addArtist () fra ArtistManagementDao java class.

7. Vi har også brukt å prøve å fange blokkering for å fange noen unntak og kaste ut det samme.

ArtistManagementDao Forklaring:

1. Dao-klassen hjelper oss med å isolere applikasjons- / virksomhetssjiktet fra utholdenhetslaget. Dette er vanligvis den relative databasen.

2. Vi har først opprettet DB URL som skal ha datamaskinnavnet ditt, så vel som DB-portnummer (ideelt 1521), foran JDBC: oracle: thin: @. Så har vi opprettet brukernavn og passord for å kunne passere disse attributtene i løpet av databasetilkoblingen. Det anbefales sterkt å kryptere disse verdiene i produksjonsmiljøet.

3. Inne i addArtist-metoden prøvde vi å etablere forbindelsen vår ved å følge trinnene vi har lært tidligere ved å bruke en conn-setning.

4. Nå har vi brukt innsettingsmetoden for å skyve verdier fra attributter til databasen.

5. I den neste uttalelsen, for å teste, har vi get-setningen for å hente verdier fra databasen.

6. Vi har også brukt å prøve å fange blokkering for å fange noen unntak og kaste ut det samme.

Anbefalte artikler

Dette har vært en guide for hvordan du kobler til database i java. Her har vi diskutert Slik kobler du til database i java sammen med grensesnitt og klasser som brukes for å koble en database. Du kan også se på følgende artikler for å lære mer -

  1. Hva er SQL Server?
  2. Er Big Data en database?
  3. Slik fungerer JavaScript
  4. Multithreading Interview Questions in Java