Introduktion til JDBC Architecture

Java Database Connectivity (JDBC) er en API (Application Program Interface) eller platformuafhængig interface, der hjælper med at forbinde java-programmer med forskellige databaser, såsom Oracle, My SQL, MS Access og SQL Server. Det giver måder til forespørgsel og opdatering af databasen ved hjælp af SQL-opdateringssætninger med struktureret forespørgsel (SQL) som CREATE, DELETE, INSERT og UPDATE og forespørgselssætninger som SELECT. Det ligner næsten ODBC (Open Database Connectivity), der blev leveret af Microsoft.

For at forbinde java-programmet eller applikationen med databasen er der fem trin, der skal følges:

1. Indlæs driveren: Driver hjælper med at oprette forbindelse til databasen, og derfor skal driveren indlæses en gang i programmet. Dette kan gøres ved to metoder:

  • Class.forName (): Ved at bruge dette indlæses driverens klassefil i hukommelsen under kørselstid. Det er ikke nødvendigt at oprette et nyt objekt. For eksempel:

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

  • DriverManager.registerDriver (): Her DriverManager er en indbygget Java-klasse, hvor registeret er dets statiske medlem. Ved at bruge dette kaldes konstruktøren til førerklassen i kompileringstiden. I dette nye objekt oprettes. For eksempel:

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

2. Oprettelse af forbindelser: Når driveren er indlæst, er forbindelsen indstillet. Forbindelsesobjektet bruger brugernavn, adgangskode og URL til at konfigurere forbindelsen. URL har et foruddefineret format, der indeholder databasenavn, den anvendte driver, IP-adresse, hvor databasen er gemt, Portnummer og tjenesteudbyderen. Forbindelsen kan indstilles ved hjælp af kommandoen:

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

3. Oprettelse af erklæring: Efter oprettelse af forbindelsen kan brugeren interagere med databasen. Grænsefladerne såsom JDBC-erklæring, PreparedStatement, CallableStatement indeholder metoder, der giver brugeren mulighed for at sende SQL-sætninger og hente data fra databasen. Kommando brugt til at oprette erklæring er;

Statement stmt = con.createStatement();

4. Udførelse af forespørgsel: SQL-forespørgslen udføres for at interagere med databasen. En forespørgsel kan være til opdatering / indsættelse i databasen eller til hentning af data. Statement interface giver to metoder, dvs. executeQuery () -metoden til at udføre forespørgsler til hentning af data, mens executeUpdate () -metoden til at udføre forespørgsler til opdatering eller indsættelse. For eksempel:

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

5. Lukning af forbindelse: Efter udførelse af vores forespørgsel, er datanvenderen, der ønskede at opdatere eller hente, blevet gjort, så nu er det tid til at lukke den etablerede forbindelse. Forbindelsesgrænsefladen giver en metode tæt () til at lukke forbindelsen. For eksempel:

con.close();

JDBC Arkitektur

JDBC understøtter to typer behandlingsmodeller til adgang til databasen, dvs. to-lags og tre-lags.

1. Arkitektur i to lag:

Denne arkitektur hjælper java-program eller -applikation til direkte kommunikation med databasen. Den har brug for en JDBC-driver for at kommunikere med en bestemt database. Forespørgsel eller anmodning sendes af brugeren til databasen, og resultaterne modtages af brugeren. Databasen kan være til stede på den samme maskine eller enhver fjernmaskine, der er tilsluttet via et netværk. Denne tilgang kaldes client-server arkitektur eller konfiguration.

2. Arkitektur i tre niveauer:

I dette er der ingen direkte kommunikation. Forespørgsler sendes til det midterste niveau, dvs. HTML-browser sender en anmodning til java-applikationen, som derefter videre sendes til databasen. Databasen behandler anmodningen og sender resultatet tilbage til det midterste lag, som derefter kommunikerer med brugeren. Det øger ydeevnen og forenkler implementeringen af ​​applikationen.

Komponenter i JDBC Arkitektur

  • Driver Manager: Det er en klasse, der indeholder en liste over alle drivere. Når der modtages en forbindelsesanmodning, matcher den anmodningen med den relevante databasedriver ved hjælp af en protokol kaldet kommunikationssubprotokol. Den driver, der matcher, bruges til at oprette en forbindelse.
  • Driver: Det er en grænseflade, der styrer kommunikationen med databaseserveren. DriverManager-objekter bruges til at udføre kommunikation.
  • Forbindelse: Det er en grænseflade, der indeholder metoder til at kontakte en database.
  • Erklæring: Denne grænseflade opretter et objekt til indsendelse af SQL-forespørgsler eller udsagn til databasen.
  • ResultSet: Dette indeholder de resultater, der hentes efter udførelsen af ​​SQL-sætninger eller forespørgsler.
  • SQLException: Eventuelle fejl, der opstår i databaseapplikation, håndteres af denne klasse.

Grundlæggende JDBC arkitekturdiagram er vist nedenfor med placeringen af ​​alle komponenter:

interfaces

Pakken java.sql består af mange grænseflader. Nogle populære grænseflader er nævnt nedenfor:

  • Drivergrænseflade: Denne grænseflade giver mulighed for flere databasedrivere. DriverManager-objekter oprettes for at kommunikere med databasen. Disse objekter er oprettet af DriverManager.registerDriver ();
  • Forbindelsesgrænseflade: Forbindelsesgrænseflade etablerer forbindelsen dvs. session mellem java-program og databasen. Det har mange metoder som rollback (), close () osv.
  • Statement Interface: Denne grænseflade indeholder metoder til udførelse af SQL-forespørgsler. Det giver fabriksmetoder til at få et ResultatSet-objekt. Nogle metoder til erklæringsgrænseflade er executeQuery (), executeUpdate () osv.
  • PreparedStatement Interface: Denne grænseflade hjælper, når SQL-forespørgsler skal implementeres mange gange. Det accepterer inputparametre under kørsel.
  • CallableStatement-interface: Denne grænseflade bruges, når der er adgang til lagrede procedurer. Det accepterer også parametre under kørselstid.
  • ResultSet-interface: Denne grænseflade hjælper med at gemme det resultat, der returneres efter udførelsen af ​​SQL-forespørgsler.

Typer af JDBC-drivere

Der er fire typer JDBC-drivere:

1. Type-1 Driver eller JDBC-ODBC Bridge: Denne driver fungerer som en bro mellem JDBC og ODBC. Det konverterer JDBC-opkald til ODBC-opkald og sender derefter anmodningen til ODBC-driver. Det er let at bruge, men udførelsestiden er langsom.

2. Type-2 Driver eller Native API Delvis Java Driver: Denne driver bruger JNI (Java Native Interface) opkald på databasespecifikt native client API. Det er relativt hurtigere end Type-1-driver, men det kræver indbygget bibliotek, og omkostningerne ved anvendelse øges også.

3. Type-3 driver- eller netværksprotokolledriver: Disse drivere kommunikerer til JDBC mellemvareserver ved hjælp af proprietær netværksprotokol. Denne mellemvare oversætter netværksprotokollen til databasespecifikke opkald. De er uafhængige af databaser. De kan skifte fra en database til en anden, men er langsomme på grund af mange netværksopkald.

4. Type-4 eller tynd driver: Denne driver kaldes også ren Java-driver, fordi de direkte interagerer med databasen. Det kræver hverken noget oprindeligt bibliotek eller mellemvareserver. Det har bedre ydelse end andre drivere, men relativt langsomt på grund af en stigning i et antal netværksopkald.

Konklusion

Denne artikel specificerer JDBC-arkitekturen, dens grænseflader og drivertyper til kommunikation eller interaktion med databasen.

Nu vedligeholdes en dags databaser i alle sektorer, hvorfor det er nødvendigt at opdatere dem og hente data fra dem. Så forståelse af arkitekturen ville hjælpe med at forstå de grundlæggende JDBC-koncepter.

Anbefalede artikler

Dette har været en guide til JDBC Arkitektur. Her diskuterede vi typer af drivere, grænseflader og komponenter i JDBC Architecture. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Sådan installeres Java 8?
  2. JDBC Interview Spørgsmål
  3. Sådan installeres Apache?

Kategori: