Introduksjon til JDBC Architecture

Java Database Connectivity (JDBC) er et API (Application Program Interface) eller plattformuavhengig grensesnitt som hjelper deg med å koble java-programmer med forskjellige databaser som Oracle, My SQL, MS Access og SQL Server. Det gir måter å spørre og oppdatere databasen ved å bruke SQL-oppdateringsuttalelser for strukturert spørring (SQL) som CREATE, DELETE, INSERT and UPDATE og spørreutsagn som SELECT. Det er nesten likt ODBC (Open Database Connectivity) som ble levert av Microsoft.

For å koble java-programmet eller applikasjonen til databasen er det fem trinn som skal følges:

1. Last inn driveren: Driveren hjelper deg med å opprette forbindelse til databasen, og driveren må derfor lastes en gang i programmet. Dette kan gjøres ved to metoder:

  • Class.forName (): Ved å bruke denne lastes driverens klassefil i minnet under kjøretid. Det er ikke nødvendig å lage et nytt objekt. For eksempel:

Class.forName(“oracle.jdbc.driver.OracleDriver”);

  • DriverManager.registerDriver (): Her DriverManager er en innebygd Java-klasse der registeret er dets statiske medlem. Ved å bruke dette, kalles konstruktøren av førerklassen under kompileringstiden. I dette nye objektet opprettes. For eksempel:

DriverManager.registerDriver(new oracle.jdbd.driver.OracleDriver());

2. Opprette tilkoblinger: Etter at driveren er lastet inn, er tilkoblingen satt opp. Tilkoblingsobjektet bruker brukernavn, passord og URL for å sette opp tilkoblingen. URL har et forhåndsdefinert format som inneholder databasenavn, driveren som brukes, IP-adresse der databasen er lagret, portnummer og tjenesteleverandøren. Forbindelsen kan settes opp ved å bruke kommandoen:

Connection con = DriverManager.getConnection(URL, user, password);

3. Oppretting av uttalelse: Etter at forbindelsen er opprettet, kan brukeren samhandle med databasen. Grensesnittene som JDBC-uttalelse, PreparedStatement, CallableStatement gir metoder som lar en bruker sende SQL-setninger og hente data fra databasen. Kommando som brukes til å opprette uttalelse er;

Statement stmt = con.createStatement();

4. Utføre spørring: SQL-spørringen utføres for å samhandle med databasen. En spørring kan være for å oppdatere / sette inn i databasen eller for å hente data. Uttalingsgrensesnitt gir to metoder, dvs. executeQuery () -metoden for å utføre spørsmål for henting av data mens executeUpdate () -metoden for å utføre spørsmål for oppdatering eller innsetting. For eksempel:

int n = stmt.executeUpdate(“DELETE TABLENAME”);
if(n==1)
System.out.println(“Success”);
else
System.out.println(“Failed”);

5. Lukking av tilkobling: Etter å ha utført spørringen, har databrukeren som ønsket å oppdatere eller hente blitt gjort, så nå er det på tide å lukke den etablerte forbindelsen. Tilkoblingsgrensesnittet gir en metode nær () for å lukke forbindelsen. For eksempel:

con.close();

JDBC Arkitektur

JDBC støtter to typer behandlingsmodeller for tilgang til database, dvs. to-lags og tre-lags.

1. Arkitektur i to lag:

Denne arkitekturen hjelper java-programmet eller applikasjonen til å kommunisere direkte med databasen. Den trenger en JDBC-driver for å kommunisere med en spesifikk database. Forespørsel eller forespørsel blir sendt av brukeren til databasen, og resultatene blir mottatt tilbake av brukeren. Databasen kan være til stede på samme maskin eller hvilken som helst ekstern maskin som er koblet til via et nettverk. Denne tilnærmingen kalles klient-serverarkitektur eller konfigurasjon.

2. Arkitektur i tre nivåer:

I dette er det ingen direkte kommunikasjon. Forespørsler sendes til den midterste tier, dvs. HTML-nettleser sender en forespørsel til java-applikasjonen som deretter sendes videre til databasen. Database behandler forespørselen og sender resultatet tilbake til midterste nivå som deretter kommuniserer med brukeren. Det øker ytelsen og forenkler distribusjonen av applikasjonen.

Komponenter av JDBC Architecture

  • Driver Manager: Det er en klasse som inneholder en liste over alle drivere. Når en tilkoblingsforespørsel mottas, samsvarer den med forespørselen med den aktuelle databasedriveren ved å bruke en protokoll som heter kommunikasjonssubprotokoll. Driveren som matcher brukes til å opprette en forbindelse.
  • Driver: Det er et grensesnitt som styrer kommunikasjonen med databaseserveren. DriverManager-objekter brukes til å utføre kommunikasjon.
  • Tilkobling: Det er et grensesnitt som inneholder metoder for å kontakte en database.
  • Uttalelse: Dette grensesnittet oppretter et objekt for å sende inn SQL-spørsmål eller uttalelser til databasen.
  • ResultSet: Dette inneholder resultatene som er hentet etter utførelsen av SQL-setningene eller spørsmålene.
  • SQLException: Eventuelle feil som oppstår i databaseapplikasjon, håndteres av denne klassen.

Grunnleggende JDBC arkitektdiagram er vist nedenfor med plassering av alle komponenter:

grensesnitt

Pakken java.sql består av mange grensesnitt. Noen populære grensesnitt er nevnt nedenfor:

  • Drivergrensesnitt: Dette grensesnittet gir mulighet for flere databasedrivere. DriverManager-objekter opprettes for å kommunisere med databasen. Disse objektene er opprettet av DriverManager.registerDriver ();
  • Tilkoblingsgrensesnitt: Tilkoblingsgrensesnitt etablerer forbindelsen dvs. økt mellom Java-program og databasen. Den har mange metoder som rollback (), close () etc.
  • Uttalingsgrensesnitt: Dette grensesnittet inneholder metoder for utføring av SQL-spørsmål. Den gir fabrikkmetoder for å få et ResultatSet-objekt. Noen metoder for uttalelsesgrensesnitt er executeQuery (), executeUpdate () osv.
  • PreparedStatement Interface: Dette grensesnittet hjelper når SQL-spørsmålene må implementeres mange ganger. Den godtar inngangsparametere under kjøretid.
  • CallableStatement Interface: Dette grensesnittet brukes når lagrede prosedyrer skal nås. Den godtar også parametere under kjøretid.
  • ResultSet-grensesnitt: Dette grensesnittet hjelper til med å lagre resultatet som returneres etter utførelsen av SQL-spørringene.

Typer JDBC-drivere

Det er fire typer JDBC-drivere:

1. Type-1 Driver eller JDBC-ODBC Bridge: Denne driveren fungerer som en bro mellom JDBC og ODBC. Den konverterer JDBC-samtaler til ODBC-samtaler og sender deretter forespørselen til ODBC-driveren. Den er enkel å bruke, men utførelsestiden er treg.

2. Type-2 Driver eller Native API Delvis Java Driver: Denne driveren bruker JNI (Java Native Interface) anrop på databasespesifikk native client API. Det er relativt raskere enn Type-1-driver, men det krever innbyggert bibliotek, og kostnadene for applikasjonen øker også.

3. Type-3 Driver eller Network Protocol Driver: Disse driverne kommuniserer til JDBC mellomvareserver ved hjelp av egenutviklet nettverksprotokoll. Denne mellomvaren oversetter nettverksprotokollen til databasespesifikke anrop. De er uavhengige av databaser. De kan bytte fra en database til en annen, men går tregt på grunn av mange nettverkssamtaler.

4. Type-4 eller tynn driver: Denne driveren kalles også ren Java-driver fordi de direkte samhandler med databasen. Det krever verken noe eget bibliotek eller mellomvareserver. Den har bedre ytelse enn andre drivere, men relativt treg på grunn av en økning i flere nettverkssamtaler.

Konklusjon

Denne artikkelen spesifiserer JDBC-arkitekturen, dets grensesnitt og typer drivere som skal kommunisere eller samhandle med databasen.

Nå opprettholdes en dags databaser i hver sektor, og derfor er det nødvendig å oppdatere dem og hente data fra dem. Så å forstå arkitekturen ville bidra til å forstå de grunnleggende JDBC-konseptene.

Anbefalte artikler

Dette har vært en guide til JDBC Architecture. Her diskuterte vi hvilke typer drivere, grensesnitt og komponenter i JDBC Architecture. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Hvordan installerer Java 8?
  2. JDBC intervjuspørsmål
  3. Hvordan installerer Apache?