java jdbc tutorial what is jdbc
Beginnend met de basisprincipes, legt deze JDBC-tutorial de componenten, architectuur en typen stuurprogramma's in Java Database Connectivity (JDBC) uit:
In deze tutorial wordt uitgelegd wat JDBC is, de versies die tot nu toe zijn uitgebracht, wat de vereisten zijn die nodig zijn voordat je doorgaat met JDBC, typen stuurprogramma's, enz. Aan het einde van deze tutorial zul je de basisprincipes van Java Database Connectivity of JDBC kennen en waar kunnen we het gebruiken.
Laten we deze tutorial beginnen met de basisprincipes van JDBC.
Wat je leert:
Lijst met Java JDBC-zelfstudies
Tutorial # 1: Wat is JDBC (Java Database Connectivity) (Deze tutorial)
Tutorial # 2: Zelfstudie voor Java JDBC-verbinding met programmeervoorbeeld
Tutorial # 3: JDBC DriverManager, JDBC PreparedStatement en Statement
Tutorial # 4: JDBC ResultSet: hoe u Java ResultSet gebruikt om gegevens op te halen
Tutorial # 5: Java JDBC-transactiebeheer met voorbeeld
Tutorial # 6: Afhandeling van JDBC-uitzonderingen - Hoe om te gaan met SQL-uitzonderingen
Tutorial # 7: Zelfstudie over JDBC-batchverwerking en opgeslagen procedure
Tutorial # 8: Top 25+ JDBC-interviewvragen en antwoorden
Wat is JDBC
In de meeste Java-toepassingen is er altijd behoefte aan interactie met databases om de gegevens op te halen, te manipuleren en te verwerken. Hiervoor is Java JDBC geïntroduceerd.
JDBC is de veelgebruikte afkorting voor Java Database Connectivity. Door JDBC te gebruiken, kunnen we communiceren met verschillende soorten relationele databases, zoals Oracle, MySQL, MS Access, enz.
Vóór JDBC werd ODBC API geïntroduceerd om verbinding te maken en bewerkingen uit te voeren met de database. ODBC gebruikt een ODBC-stuurprogramma dat platformafhankelijk is omdat het is geschreven in programmeertaal C. JDBC API is geschreven in Java-taal, is platformonafhankelijk en maakt Java zelf platformonafhankelijk.
Onderstaand diagram toont de basisstroom van JDBC:
Versies van JDBC
Aanvankelijk had Sun Microsystems op 19 februari 1997 JDBC in JDK 1.1 uitgebracht. Daarna maakte het deel uit van het Java-platform.
De volgende tabel bevat JDBC-versies en implementaties:
JDBC-versie | JDK-implementatie | Jaar |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Voorwaarde
Voordat u doorgaat met de JDBC-zelfstudie, moet u een goede kennis van Java hebben, zodat u JDBC in Java-programma's kunt gebruiken.
=> Aanbevolen literatuur: Java-zelfstudies
Vereisten om JDBC in Java-applicaties te implementeren zijn als volgt:
1. Java moet worden geïnstalleerd op het systeem waarop u een Java-applicatie wilt maken en JDBC wilt gebruiken.
Verwijs hiernaar koppeling voor Java-installatie.
2. U moet de juiste jar-bestanden van het JDBC-stuurprogramma hebben om verbinding te maken met DBMS. Elke database heeft verschillende JDBC-driver jar-bestanden.
U kunt deze bestanden voor de specifieke database downloaden met behulp van de links in de volgende tabel:
Database met downloadlink | Naam JDBC-driverprovider | JAR-bestandsnaam |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Orakel | Oracle Corporation | Orakelojdbc8.jar |
SQL Server | Microsoft Corporation | SQL Serversqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | PostgreSQL Global Development Group | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Typen stuurprogramma's in JDBC
Laten we nu de typen stuurprogramma's in JDBC bespreken om u te helpen bij het kiezen van het stuurprogramma dat geschikt is voor uw programma.
Alle RDMS (Relational Database Management System) hebben een stuurprogramma nodig als ze van buiten hun systeem moeten worden benaderd. JDBC-stuurprogramma is dus vereist om SQL-query's uit te voeren en het resultaat uit de database te halen.
Er zijn 4 verschillende typen stuurprogramma's beschikbaar in JDBC. Ze zijn geclassificeerd op basis van de techniek die wordt gebruikt om toegang te krijgen tot een database.
Ze zijn als volgt:
- Type I: JDBC-ODBC-brug
- Type II: Native APT - Gedeeltelijk Java-stuurprogramma
- Type III: netwerkprotocol - volledig Java-stuurprogramma
- Type IV: Dun stuurprogramma - Volledig Java-stuurprogramma
Type I: JDBC-ODBC-brug
In dit type stuurprogramma fungeert JDBC - ODBC Bridge als een interface tussen client en DB-server. Wanneer een gebruiker een Java-toepassing gebruikt om verzoeken naar de database te verzenden met JDBC - ODBC Bridge, converteert deze eerst de JDBC API naar ODBC API en stuurt deze vervolgens naar de database. Wanneer het resultaat van DB wordt ontvangen, wordt het naar de ODBC-API en vervolgens naar de JDBC-API verzonden.
Dit stuurprogramma is platformafhankelijk omdat het ODBC gebruikt, dat afhankelijk is van de native bibliotheek van het besturingssysteem. In dit type moet het JDBC-ODBC-stuurprogramma op elk clientsysteem zijn geïnstalleerd en moet de database het ODBC-stuurprogramma ondersteunen.
Als het geen kwestie is van de installatie op de clientcomputer, kunnen we deze driver gebruiken. Het is gemakkelijk te gebruiken, maar het levert lage prestaties door de conversie van de JDBC-methodeaanroepen naar de ODBC-methodeaanroepen.
Opmerking: het is beschikbaar in JDK 1.2
Java 8 ondersteunt dit type stuurprogramma niet. Oracle raadt de gebruiker aan gebruik te maken van de JDBC-stuurprogramma's die door hun databaseleveranciers worden geleverd.
Afbeelding: Type I: JDBC - ODBC Bridge-stuurprogramma
Type II: Native API - Gedeeltelijk Java-stuurprogramma
Het is vergelijkbaar met Type I-stuurprogramma. Hier wordt het ODBC-gedeelte vervangen door native code in Type II Driver. Dit native codegedeelte is gericht op een specifiek databaseproduct. Het maakt gebruik van de bibliotheken van de clientzijde van de database. Dit stuurprogramma converteert de aanroepen van de JDBC-methode naar native aanroepen van de native API van de database.
Wanneer de database de verzoeken van de gebruiker ontvangt, worden de verzoeken verwerkt en teruggestuurd met de resultaten in het oorspronkelijke formaat dat moet worden geconverteerd naar het JDBC-formaat en aan de Java-applicatie moet worden doorgegeven.
Het werd onmiddellijk overgenomen door de DB-leveranciers omdat het snel en goedkoop te implementeren was. Het is ook in het oorspronkelijke formaat van de DB.
Dit type driver geeft een snellere respons en prestatie dan de Type I driver.
Afbeelding: Type II: Native APT - Gedeeltelijk Java-stuurprogramma
Type III: netwerkprotocol
De type III driver is volledig in Java geschreven. Het is als een benadering met drie niveaus om toegang te krijgen tot de database. Het verzendt de JDBC-methodeaanroepen naar een tussenliggende server. Namens de JDBC communiceert de tussenliggende server met de database. De applicatieserver (tussenliggende of middelste laag) converteert de JDBC-oproepen direct of indirect naar het leverancierspecifieke databaseprotocol.
Deze aanpak verhoogt de efficiëntie van de architectuur niet en is ook kostbaar, omdat de meeste databaseleveranciers deze driver niet prefereren. Aangezien de applicatieserver wordt gebruikt, moet u goede kennis hebben van de applicatieserver om deze aanpak efficiënt te gebruiken.
Afbeelding: Type III: netwerkprotocol - volledig Java-stuurprogramma
Type IV: dunne driver
Type IV-stuurprogramma wordt rechtstreeks geïmplementeerd en converteert JDBC-oproepen rechtstreeks naar een leverancierspecifiek databaseprotocol. Tegenwoordig zijn de meeste JDBC-stuurprogramma's type IV-stuurprogramma's. Het is volledig in Java geschreven en dus platformonafhankelijk. Het is geïnstalleerd in de JVM (Java Virtual Machine) van de client, dus u hoeft geen software aan de client- of serverzijde te installeren. Deze driverarchitectuur heeft alle logica om rechtstreeks met de DB te communiceren in een enkele driver.
Het biedt betere prestaties dan de andere typen stuurprogramma's. Het zorgt voor een gemakkelijke implementatie. Tegenwoordig wordt dit type stuurprogramma door de databaseleverancier zelf ontwikkeld, zodat programmeurs het direct kunnen gebruiken zonder afhankelijk te zijn van andere bronnen.
Afbeelding: Type IV: Thin Driver - Volledig Java-stuurprogramma
Toepassingen van JDBC
JDBC kan worden gebruikt in Java-toepassingen, applets, servlets of andere Java-programma's waarmee u verbinding wilt maken met DB.
Bijvoorbeeld, Standalone applicaties, websites, bankapplicaties, enz.,
Architectuur en componenten van JDBC
JDBC-architectuur: Het ondersteunt twee soorten verwerkingsmodellen om toegang te krijgen tot de database.
Dit zijn:
- Architectuur op twee niveaus
- Architectuur op drie niveaus
# 1) Two-tier architectuur:
Het helpt de Java-applicatie om rechtstreeks verbinding te maken met de database. Het heeft een JDBC-stuurprogramma nodig voor de communicatie met een bepaalde DB. De gebruiker stuurt de verzoeken naar DB en ontvangt het antwoord rechtstreeks zonder tussenkomst, behalve JDBC Driver. De database, ofwel op dezelfde machine of op een externe machine, is verbonden via een netwerk. Het kan worden genoemd als een client-server-architectuur.
# 2) Architectuur op drie niveaus:
Het is het tegenovergestelde van architectuur op twee niveaus. Er is geen directe communicatie tussen de gebruiker en de database. De gebruiker stuurt het verzoek naar de middelste laag (toepassingsserver) van waaruit het verzoek opnieuw naar Database wordt verzonden. Vervolgens verwerkt de database het verzoek en stuurt het resultaat naar de middelste laag van waaruit de gebruiker het resultaat / antwoord ontvangt.
Het vereenvoudigt de implementatie en het beheer. Management Information System (MIS) -directeuren gebruiken deze architectuur omdat het eenvoudig is om toegangscontrole en updates van bedrijfsgegevens te behouden.
Architectuur op drie niveaus
Onderdelen van JDBC
Er zijn 4 hoofdcomponenten beschikbaar in JDBC. Zij zijn:
- JDBC API
- JDBC-stuurprogrammabeheer
- JDBC-testsuite
- JDBC - ODBC-brug
# 1) JDBC-API: Het biedt toegang tot relationele databases vanuit elk Java-programma. De JDBC API heeft een reeks klassen en interfaces die zijn geschreven in Java en die een standaardtool / API voor ontwikkelaars biedt. Met behulp van de JDBC API kunt u SQL-query's maken en uitvoeren, het resultaat ontvangen en wijzigingen aanbrengen in de gegevens en de resultaten weer opslaan in de database.
Het kan communiceren met meerdere databases zoals Oracle, MySQL, MS Access vanuit een enkel Java-programma. Met JDBC API is het niet nodig om een programma te schrijven om toegang te krijgen tot Oracle DB, een ander programma om toegang te krijgen tot MySQL, een ander programma om toegang te krijgen tot MS Access, enzovoort.
JDBC API is een onderdeel van Java Platform dat zowel Java Standard Edition (Java SE) als Java Enterprise Edition (Java EE) heeft.
De JDBC 4.0 API heeft 2 pakketten.
- Java.sql
- Javax.sql
Beide pakketten zijn beschikbaar in Java SE en Java EE.
# 2) JDBC Driver Manager: De traditionele beheerlaag van JDBC is Driver Manager en fungeert als een interface tussen de gebruiker en de stuurprogramma's. Het houdt de trackinggegevens bij van de stuurprogramma's die beschikbaar zijn en brengt een verbinding tot stand tussen de database en het juiste stuurprogramma. Het definieert de objecten die de Java-app kunnen verbinden met JDBC Driver. Het is dus de ruggengraat van de JDBC API.
We zullen de Driver Manager bespreken in de volgende tutorial.
# 3) JDBC-testsuite: Het helpt om te bepalen of de JDBC-stuurprogramma's het programma zullen uitvoeren of niet. Het biedt het vertrouwen en de conformiteit dat het programma wordt uitgevoerd door JDBC Drivers.
# 4) JDBC- ODBC-brug: Dit maakt gebruik van ODBC-stuurprogramma's als JDBC-stuurprogramma's. Het is vergelijkbaar met het TYPE I-stuurprogramma dat al wordt behandeld in de sectie typen stuurprogramma's in deze zelfstudie.
Belangrijkste punten om op te merken:
- JDBC wordt gebruikt voor interactie met de database vanuit elk Java-programma, zoals Java-applicatie, applets, servlets.
- De nieuwste versie van JDBC is JDBC 4.3 Het is een stabiele release sinds 21stSeptember 2017.
- Type I chauffeur: JDBC ODBC Bridge - gemakkelijk te gebruiken, maar ODBC is platformafhankelijk. Het is ook een driver met lage prestaties.
- Type II-stuurprogramma: Native API - Native codegedeelte verving het ODBC-gedeelte in Type I-stuurprogramma en was gericht op een specifiek databaseproduct. Het is sneller dan Type I-stuurprogramma.
- Type III-stuurprogramma: Middle Tier of Application Server wordt gebruikt als een interface tussen JDBC Driver en database. Kennis van Application Server is nodig om deze effectief te gebruiken.
- Type IV-stuurprogramma: JDBC Driver communiceert onmiddellijk met de database. Databaseleveranciers gebruiken dit type stuurprogramma en bieden het aan klanten of ontwikkelaars.
- JDBC kan worden gebruikt in elk programma dat in Java is geschreven.
Gevolgtrekking
In deze JDBC-tutorial hebben we geleerd over de basisprincipes van JDBC en de vereisten die nodig zijn voordat we verder gaan met JDBC. We hebben de versies en 4 soorten stuurprogramma's gezien die de ontwikkelaars helpen beslissen welk type stuurprogramma ze in programma's willen gebruiken.
We hebben ook de architectuur van JDBC en de 4 kerncomponenten besproken.
Aanbevolen literatuur
- JDBC DriverManager, JDBC PreparedStatement en Statement
- ChromeDriver Selenium-zelfstudie: Selenium Webdriver-tests op Chrome
- Java SWING-zelfstudie: afhandeling van containers, componenten en gebeurtenissen
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Data Driven Framework in Selenium WebDriver met Apache POI
- Omgaan met iFrames met behulp van de Selenium WebDriver switchTo () -methode
- Toegankelijkheidstesten met Selenium Webdriver met codevoorbeeld
- Selenium WebDriver uitvoeren in verschillende populaire browsers