Inleiding tot JDBC Architecture

Java Database Connectivity (JDBC) is een API (Application Program Interface) of platformonafhankelijke interface die helpt bij het verbinden van Java-programma's met verschillende databases zoals Oracle, My SQL, MS Access en SQL Server. Het biedt manieren om de database te doorzoeken en bij te werken met SQL-instructies (Structured Query Language) zoals CREATE, DELETE, INSERT en UPDATE en query-statements zoals SELECT. Het is bijna vergelijkbaar met ODBC (Open Database Connectivity) dat werd geleverd door Microsoft.

Om het Java-programma of de applicatie met de database te verbinden, zijn er vijf stappen:

1. Laad het stuurprogramma: stuurprogramma helpt bij het maken van een verbinding met de database. Daarom moet het stuurprogramma eenmaal in het programma worden geladen. Dit kan op twee manieren:

  • Class.forName (): hiermee wordt het klassenbestand van het stuurprogramma tijdens runtime in het geheugen geladen. Het is niet nodig om een ​​nieuw object te maken. Bijvoorbeeld:

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

  • DriverManager.registerDriver (): Hier is DriverManager een ingebouwde Java-klasse waarvan het register het statische lid is. Door dit te gebruiken, wordt de constructor van de stuurprogrammaklasse aangeroepen tijdens het compileren. In dit nieuwe object is gemaakt. Bijvoorbeeld:

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

2. Verbindingen maken: nadat het stuurprogramma is geladen, wordt de verbinding tot stand gebracht. Het verbindingsobject gebruikt gebruikersnaam, wachtwoord en URL om de verbinding in te stellen. URL heeft een vooraf gedefinieerde indeling die de databasenaam, het gebruikte stuurprogramma, het IP-adres waar de database is opgeslagen, het poortnummer en de serviceprovider bevat. De verbinding kan worden ingesteld met behulp van de opdracht:

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

3. Verklaring maken: na het tot stand brengen van de verbinding kan de gebruiker communiceren met de database. De interfaces zoals JDBC-instructie, PreparedStatement en CallableStatement bieden methoden waarmee een gebruiker SQL-instructies kan verzenden en gegevens uit de database kan ophalen. Commando gebruikt om statement te maken is;

Statement stmt = con.createStatement();

4. Query uitvoeren: de SQL-query wordt uitgevoerd om te interageren met de database. Een query kan zijn voor het bijwerken / invoegen in de database of voor het ophalen van gegevens. Statement-interface biedt twee methoden, namelijk de methode executeQuery () om query's uit te voeren voor het ophalen van gegevens, terwijl de methode executeUpdate () query's uitvoert voor bijwerken of invoegen. Bijvoorbeeld:

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

5. Verbinding verbreken: na het uitvoeren van onze query, is de gegevensgebruiker die wilde bijwerken of ophalen klaar, dus nu is het tijd om de bestaande verbinding te sluiten. De verbindingsinterface biedt een methode close () om de verbinding te sluiten. Bijvoorbeeld:

con.close();

JDBC-architectuur

JDBC ondersteunt twee soorten verwerkingsmodellen voor toegang tot de database, namelijk two-tier en three-tier.

1. Tweelaagse architectuur:

Deze architectuur helpt Java-programma of -applicatie om rechtstreeks met de database te communiceren. Het heeft een JDBC-stuurprogramma nodig om te communiceren met een specifieke database. De vraag of het verzoek wordt door de gebruiker naar de database verzonden en de resultaten worden door de gebruiker terug ontvangen. De database kan aanwezig zijn op dezelfde machine of op een externe machine die via een netwerk is verbonden. Deze aanpak wordt client-server-architectuur of -configuratie genoemd.

2. Drielaagse architectuur:

Hierin is er geen directe communicatie. Verzoeken worden verzonden naar de middelste laag, dwz HTML-browser verzendt een aanvraag naar Java-toepassing die vervolgens verder wordt verzonden naar de database. Database verwerkt het verzoek en stuurt het resultaat terug naar de middelste laag die vervolgens communiceert met de gebruiker. Het verhoogt de prestaties en vereenvoudigt de implementatie van de applicatie.

Componenten van JDBC Architecture

  • Stuurprogrammabeheer: het is een klasse die een lijst met alle stuurprogramma's bevat. Wanneer een verbindingsverzoek wordt ontvangen, komt dit overeen met het juiste databasestuurprogramma met behulp van een protocol dat communicatie-subprotocol wordt genoemd. Het overeenkomende stuurprogramma wordt gebruikt om een ​​verbinding tot stand te brengen.
  • Stuurprogramma: het is een interface die de communicatie met de databaseserver regelt. DriverManager-objecten worden gebruikt om communicatie uit te voeren.
  • Verbinding: het is een interface die methoden bevat om contact op te nemen met een database.
  • Statement: deze interface maakt een object om SQL-query's of -instructies naar de database te verzenden.
  • ResultSet: dit bevat de resultaten die zijn opgehaald na het uitvoeren van de SQL-instructies of query's.
  • SQLException: fouten in de database-applicatie worden afgehandeld door deze klasse.

Basis JDBC-architectuurdiagram wordt hieronder weergegeven met de positionering van alle componenten:

interfaces

Het java.sql-pakket bestaat uit vele interfaces. Enkele populaire interfaces worden hieronder vermeld:

  • Stuurprogramma-interface: deze interface maakt meerdere database-stuurprogramma's mogelijk. DriverManager-objecten worden gemaakt om te communiceren met de database. Deze objecten worden gemaakt door DriverManager.registerDriver ();
  • Verbindingsinterface: Verbindingsinterface brengt de verbinding tot stand, dwz sessie tussen het Java-programma en de database. Het heeft vele methoden zoals rollback (), close () etc.
  • Statement Interface: deze interface biedt methoden voor het uitvoeren van SQL-query's. Het biedt fabrieksmethoden om een ​​ResultSet-object te krijgen. Sommige methoden van statement-interface zijn executeQuery (), executeUpdate () etc.
  • PreparedStatement-interface: deze interface helpt wanneer de SQL-query's vaak moeten worden geïmplementeerd. Het accepteert invoerparameters tijdens runtime.
  • CallableStatement-interface: deze interface wordt gebruikt voor toegang tot opgeslagen procedures. Het accepteert ook parameters tijdens runtime.
  • ResultSet-interface: deze interface helpt bij het opslaan van het geretourneerde resultaat na het uitvoeren van de SQL-query's.

Soorten JDBC-stuurprogramma's

Er zijn vier soorten JDBC-stuurprogramma's:

1. Type-1 stuurprogramma of JDBC-ODBC Bridge: dit stuurprogramma fungeert als een brug tussen JDBC en ODBC. Het converteert JDBC-oproepen in ODBC-oproepen en verzendt het verzoek vervolgens naar het ODBC-stuurprogramma. Het is gemakkelijk te gebruiken maar de uitvoeringstijd is traag.

2. Type-2 stuurprogramma of native API Gedeeltelijk Java-stuurprogramma: dit stuurprogramma gebruikt een JNI-oproep (Java Native Interface) op een database-specifieke native client-API. Het is relatief sneller dan Type 1-stuurprogramma, maar het vereist een eigen bibliotheek en de kosten van de toepassing nemen ook toe.

3. Type-3 stuurprogramma of netwerkprotocolstuurprogramma: deze stuurprogramma's communiceren met JDBC middleware-server met behulp van een eigen netwerkprotocol. Deze middleware vertaalt het netwerkprotocol naar database-specifieke oproepen. Ze zijn database-onafhankelijk. Ze kunnen van de ene database naar de andere overschakelen, maar zijn traag vanwege veel netwerkoproepen.

4. Type-4 of Thin Driver: deze driver wordt ook pure Java-driver genoemd omdat deze rechtstreeks met de database werkt. Het vereist geen native bibliotheek of middleware-server. Het heeft betere prestaties dan andere stuurprogramma's, maar relatief traag vanwege een toename van een aantal netwerkoproepen.

Conclusie

Dit artikel specificeert de JDBC-architectuur, de interfaces en typen stuurprogramma's voor communicatie of interactie met de database.

Nu worden de databases van een dag in elke sector onderhouden, daarom is het bijwerken en ophalen van gegevens van hen noodzakelijk. Dus het begrijpen van de architectuur zou helpen om de basisconcepten van JDBC te begrijpen.

Aanbevolen artikelen

Dit is een handleiding voor JDBC Architecture geweest. Hier hebben we de soorten stuurprogramma's, interfaces en componenten van JDBC Architecture besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Hoe Java 8 te installeren?
  2. Vragen tijdens solliciteren bij JDBC
  3. Hoe Apache te installeren?