Introduktion till JDBC Architecture

Java Database Connectivity (JDBC) är ett API (Application Program Interface) eller plattformoberoende gränssnitt som hjälper dig att ansluta java-program med olika databaser som Oracle, My SQL, MS Access och SQL Server. Det ger sätt att fråga och uppdatera databasen med hjälp av SQL-uppdateringar (Structured Query Language) som CREATE, DELETE, INSERT och UPDATE och frågeställningar som SELECT. Det liknar nästan ODBC (Open Database Connectivity) som tillhandahölls av Microsoft.

För att ansluta java-programmet eller applikationen till databasen finns det fem steg som ska följas:

1. Ladda drivrutinen: Driver hjälper till att ansluta till databasen, varför drivrutinen måste laddas en gång i programmet. Detta kan göras på två sätt:

  • Class.forName (): Genom att använda detta laddas förarens klassfil i minnet under körtid. Det finns inget behov att skapa ett nytt objekt. Till exempel:

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

  • DriverManager.registerDriver (): Här DriverManager är en inbyggd Java-klass där registret är dess statiska medlem. Genom att använda detta kallas konstruktören för förarklassen under kompileringstiden. I det nya objektet skapas. Till exempel:

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

2. Skapa anslutningar: När drivrutinen är laddad inställs anslutningen. Anslutningsobjektet använder användarnamn, lösenord och URL för att ställa in anslutningen. URL har ett fördefinierat format som innehåller databasnamn, drivrutinen som används, IP-adress där databasen är lagrad, portnummer och tjänsteleverantören. Anslutningen kan konfigureras med kommandot:

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

3. Skapa uttalande: Efter upprättandet av anslutningen kan användaren interagera med databasen. Gränssnitten som JDBC-uttalande, PreparedStatement, CallableStatement tillhandahåller metoder som gör att en användare kan skicka SQL-satser och hämta data från databasen. Kommando som används för att skapa uttalande är;

Statement stmt = con.createStatement();

4. Utföra fråga: SQL-frågan körs för att interagera med databasen. En fråga kan vara för att uppdatera / infoga i databasen eller för att hämta data. Uttalande gränssnitt ger två metoder, executeQuery () -metoden för att köra frågor för att hämta data medan executeUpdate () -metoden för att köra frågor för uppdatering eller infogning. Till exempel:

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

5. Avsluta anslutning: Efter att ha genomfört vår fråga har datan som användaren ville uppdatera eller hämta gjort så nu är det dags att stänga den etablerade anslutningen. Anslutningsgränssnittet tillhandahåller en metodstäng () för att stänga anslutningen. Till exempel:

con.close();

JDBC Arkitektur

JDBC stöder två typer av behandlingsmodeller för åtkomst till databasen, dvs två nivåer och tre nivåer.

1. Arkitektur i två nivåer:

Denna arkitektur hjälper java-programmet eller applikationen att direkt kommunicera med databasen. Den behöver en JDBC-drivrutin för att kommunicera med en specifik databas. Fråga eller begäran skickas av användaren till databasen och resultaten tas emot av användaren. Databasen kan finnas på samma maskin eller vilken fjärrmaskin som är ansluten via ett nätverk. Denna metod kallas klient-serverarkitektur eller konfiguration.

2. Arkitektur i tre nivåer:

I detta finns det ingen direkt kommunikation. Förfrågningar skickas till mellanskiktet, dvs. HTML-webbläsaren skickar en begäran till java-applikationen som sedan skickas vidare till databasen. Databasen bearbetar begäran och skickar resultatet tillbaka till mittnivån som sedan kommunicerar med användaren. Det ökar prestandan och förenklar implementeringen av applikationen.

Komponenter i JDBC Architecture

  • Driver Manager: Det är en klass som innehåller en lista över alla drivrutiner. När en anslutningsbegäran mottas matchar den begäran med lämplig databasdrivrutin med ett protokoll som kallas kommunikationssubprotokoll. Den drivrutin som matchar används för att upprätta en anslutning.
  • Driver: Det är ett gränssnitt som styr kommunikationen med databaseservern. DriverManager-objekt används för att utföra kommunikation.
  • Anslutning: Det är ett gränssnitt som innehåller metoder för att kontakta en databas.
  • Uttalande: Detta gränssnitt skapar ett objekt för att skicka SQL-frågor eller uttalanden till databasen.
  • ResultSet: Detta innehåller de resultat som hämtats efter genomförandet av SQL-uttalanden eller frågorna.
  • SQLException: Eventuella fel som uppstår i databasapplikationen hanteras av denna klass.

Grundläggande JDBC-arkitektdiagram visas nedan med placering av alla komponenter:

gränssnitt

Paketet java.sql består av många gränssnitt. Några populära gränssnitt nämns nedan:

  • Driver Interface: Detta gränssnitt tillåter flera databasdrivrutiner. DriverManager-objekt skapas för att kommunicera med databasen. Dessa objekt skapas av DriverManager.registerDriver ();
  • Anslutningsgränssnitt: Anslutningsgränssnittet upprättar anslutningen, dvs. sessionen mellan java-programmet och databasen. Det har många metoder som rollback (), close () etc.
  • Uttalande gränssnitt: Detta gränssnitt tillhandahåller metoder för exekvering av SQL-frågor. Det tillhandahåller fabriksmetoder för att få ett ResultatSet-objekt. Vissa metoder för uttalande-gränssnitt är executeQuery (), executeUpdate () etc.
  • PreparedStatement Interface: Detta gränssnitt hjälper när SQL-frågor måste implementeras många gånger. Den accepterar ingångsparametrar under körning.
  • CallableStatement Interface: Det här gränssnittet används när lagrade procedurer ska nås. Den accepterar också parametrar under körning.
  • ResultSet-gränssnitt: Detta gränssnitt hjälper till att lagra resultatet som returnerades efter körningen av SQL-frågorna.

Typer av JDBC-drivrutiner

Det finns fyra typer av JDBC-drivrutiner:

1. Type-1 Driver eller JDBC-ODBC Bridge: Den här drivrutinen fungerar som en bro mellan JDBC och ODBC. Den konverterar JDBC-samtal till ODBC-samtal och skickar sedan begäran till ODBC-drivrutin. Det är lätt att använda men körningstiden är långsam.

2. Typ-2-drivrutin eller Native API delvis Java-drivrutin: Den här drivrutinen använder JNI (Java Native Interface) -samtal på databasspecifikt native client API. Det är jämförelsevis snabbare än typ-1-drivrutinen men det kräver inbyggt bibliotek och kostnaden för applikationen ökar också.

3. Driver-drivrutin för typ 3 eller nätverksprotokoll: Dessa drivrutiner kommunicerar till JDBC-mellanprogramvaranserver med hjälp av proprietärt nätverksprotokoll. Det här mellanprogrammet översätter nätverksprotokollet till databasspecifika samtal. De är databasoberoende. De kan växla från en databas till en annan men är långsam på grund av många nätverkssamtal.

4. Typ-4 eller tunn drivrutin: Den här drivrutinen kallas också ren Java-drivrutin eftersom de direkt interagerar med databasen. Det kräver varken något inbyggt bibliotek eller mellanprogramvara. Den har bättre prestanda än andra förare men relativt långsam på grund av en ökning i ett antal nätverkssamtal.

Slutsats

Den här artikeln specificerar JDBC-arkitekturen, dess gränssnitt och typer av drivrutiner för att kommunicera eller interagera med databasen.

Nu underhålls en dags databaser i alla sektorer, därför är det nödvändigt att uppdatera dem och hämta data från dem. Så att förstå arkitekturen skulle hjälpa till att förstå de grundläggande JDBC-koncepten.

Rekommenderade artiklar

Detta har varit en guide till JDBC Architecture. Här diskuterade vi typerna av drivrutiner, gränssnitt och komponenter i JDBC Architecture. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Hur installerar jag Java 8?
  2. JDBC intervjufrågor
  3. Hur installerar jag Apache?

Kategori: