java jdbc tutorial what is jdbc
Från och med grunderna förklarar denna JDBC-handledning komponenter, arkitektur och typer av drivrutiner i Java Database Connectivity (JDBC):
Denna handledning förklarar vad som är JDBC, dess versioner släppt hittills, vilka förutsättningar som krävs innan du fortsätter med JDBC, typer av drivrutiner etc. I slutet av denna handledning kommer du att känna till grunderna för Java Database Connectivity eller JDBC och var kan vi använda det.
Låt oss börja den här guiden med grunderna i JDBC.
Vad du kommer att lära dig:
Lista över Java JDBC-handledning
Handledning nr 1: Vad är JDBC (Java Database Connectivity) (Denna handledning)
Handledning nr 2: Java JDBC-anslutningshandledning med programmeringsexempel
Handledning nr 3: JDBC DriverManager, JDBC PreparedStatement and Statement
Handledning nr 4: JDBC ResultSet: Hur man använder Java ResultSet för att hämta data
Handledning nr 5: Java JDBC-transaktionshantering med exempel
Självstudie nr 6: JDBC Undantagshantering - Hur man hanterar SQL-undantag
Självstudie 7: JDBC Batchbehandling och lagrad procedurhandledning
Handledning # 8: Topp 25+ JDBC-intervjufrågor och svar
Vad är JDBC
I de flesta Java-applikationer finns det alltid ett behov av att interagera med databaser för att hämta, manipulera och bearbeta data. För detta ändamål har Java JDBC introducerats.
JDBC är den vanliga kortformen för Java Database Connectivity. Genom att använda JDBC kan vi interagera med olika typer av relationsdatabaser som Oracle, MySQL, MS Access, etc.
Före JDBC introducerades ODBC API för att ansluta och utföra operationer med databasen. ODBC använder en ODBC-drivrutin som är plattformsberoende eftersom den skrevs på C-programmeringsspråk. JDBC API är skrivet på Java-språk, är plattformsoberoende och gör själv Java-plattformsoberoende.
Nedanstående diagram visar det grundläggande flödet av JDBC:
Versioner av JDBC
Initialt hade Sun Microsystems släppt JDBC i JDK 1.1 den 19 februari 1997. Därefter har det varit en del av Java-plattformen.
Följande tabell innehåller JDBC-versioner och implementeringar:
JDBC-version | JDK Implementering | År |
---|---|---|
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 |
Nödvändig förutsättning
Innan du går vidare med JDBC-handboken måste du ha god kunskap om Java så att du kan använda JDBC i Java-program.
=> Rekommenderad läsning: Java-handledning
Förutsättningarna för att implementera JDBC i Java-applikationer är följande:
1. Java ska installeras i systemet där du vill skapa Java-applikationer och använda JDBC.
Se detta länk för Java-installation.
2. Du bör ha rätt JDBC-drivrutinsfiler för att ansluta till DBMS. Varje databas har olika JDBC-drivrutinsfiler.
Du kan ladda ner dessa filer för den specifika databasen med hjälp av länkarna i följande tabell:
Databas med nedladdningslänk | JDBC-drivrutinsleverantörens namn | JAR-filnamn |
---|---|---|
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 |
Drivrutinsarter i JDBC
Låt oss nu diskutera vilka typer av drivrutiner i JDBC som hjälper dig att välja den som passar ditt program.
Alla RDMS (Relational Database Management System) behöver en drivrutin om de ska nås utifrån sitt system. Så, JDBC Driver krävs för att utföra SQL-frågor och få resultatet från databasen.
Det finns 4 olika typer av drivrutiner tillgängliga i JDBC. De klassificeras utifrån den teknik som används för att komma åt en databas.
De är som följer:
- Typ I: JDBC- ODBC Bridge
- Typ II: Native APT - delvis Java-drivrutin
- Typ III: Nätverksprotokoll - helt Java-drivrutin
- Typ IV: tunn drivrutin - helt Java-drivrutin
Typ I: JDBC- ODBC Bridge
I denna typ av drivrutin fungerar JDBC - ODBC Bridge som ett gränssnitt mellan klient och DB-server. När en användare använder Java-applikationen för att skicka förfrågningar till databasen med JDBC - ODBC Bridge, konverterar den först JDBC API till ODBC API och skickar den sedan till databasen. När resultatet tas emot från DB skickas det till ODBC API och sedan till JDBC API.
Den här drivrutinen är plattformsberoende eftersom den använder ODBC som beror på operativsystemets inbyggda bibliotek. I den här typen bör JDBC - ODBC-drivrutinen installeras i varje klientsystem och databasen måste stödja ODBC-drivrutinen.
När det inte handlar om installationen i klientmaskinen kan vi använda den här drivrutinen. Det är lätt att använda men det ger låg prestanda på grund av konvertering av JDBC-metodanrop till ODBC-metodanrop.
Obs! Den finns i JDK 1.2
Java 8 stöder inte den här typen av drivrutin. Oracle rekommenderar att användaren använder JDBC-drivrutinerna som tillhandahålls av deras databasleverantörer.
Figur: Typ I: JDBC - ODBC Bridge Driver
Typ II: Native API - delvis Java-drivrutin
Det liknar Type I Driver. Här ersätts ODBC-delen med inbyggd kod i Type II Driver. Denna inbyggda koddel är inriktad på en specifik databasprodukt. Den använder biblioteken på klientsidan av databasen. Den här drivrutinen konverterar JDBC-metodanrop till inbyggda samtal från databasens inbyggda API.
När databasen tar emot förfrågningarna från användaren bearbetas förfrågningarna och skickas tillbaka med resultaten i det ursprungliga formatet som ska konverteras till JDBC-format och ge det till Java-applikationen.
Det antogs direkt av DB-leverantörerna eftersom det var snabbt och billigt att implementera. Det är också i DB: s ursprungliga format.
Denna typ av förare ger snabbare respons och prestanda än Type I-drivrutinen.
Figur: Typ II: Native APT - delvis Java-drivrutin
Typ III: Nätverksprotokoll
Typ III-drivrutinen är helt skriven i Java. Det är som en 3-stegs metod för att komma åt databasen. Det skickar JDBC-metodanrop till en mellanliggande server. På uppdrag av JDBC kommunicerar mellanservern med databasen. Applikationsservern (mellanliggande eller mellanliggande nivå) konverterar JDBC-samtalen antingen direkt eller indirekt till det leverantörsspecifika databasprotokollet.
Detta tillvägagångssätt ökar inte arkitektureffektiviteten och det är också dyrt, på grund av detta föredrar de flesta databasleverantörerna inte den här drivrutinen. Eftersom applikationsservern används måste du ha god kunskap om applikationsservern för att använda denna metod effektivt.
Figur: Typ III: Nätverksprotokoll - helt Java-drivrutin
Typ IV: tunn förare
Typ IV-drivrutin implementeras direkt som konverterar JDBC-samtal direkt till leverantörsspecifikt databasprotokoll. Idag är de flesta av JDBC-drivrutinerna typ IV-drivrutiner. Den är skriven helt i Java och är således plattformsoberoende. Den installeras inuti JVM (Java Virtual Machine) på klienten, så du behöver inte installera någon programvara på klienten eller på serversidan. Den här drivarkitekturen har all logik för att kommunicera direkt med DB i en enda drivrutin.
Det ger bättre prestanda än den andra typen av drivrutiner. Det möjliggör enkel distribution. Numera är den här typen av drivrutin utvecklad av databasleverantören själv så att programmerare kan använda den direkt utan beroende av andra källor.
Figur: Typ IV: tunn drivrutin - helt Java-drivrutin
Tillämpningar av JDBC
JDBC kan användas i Java-applikationer, Applets, Servlets eller andra Java-program där du vill ansluta till DB.
Till exempel, Fristående applikationer, webbplatser, bankapplikationer etc.,
Arkitektur och komponenter i JDBC
JDBC Arkitektur: Den stöder två typer av bearbetningsmodeller för att komma åt DB.
Dessa är:
- Tvådelad arkitektur
- Tre-lags arkitektur
# 1) Tvådelad arkitektur:
Det hjälper Java-applikationen att direkt ansluta till databasen. Det behöver en JDBC-drivrutin för kommunikationen med en viss DB. Användaren skickar förfrågningarna till DB och tar emot svaret direkt utan någon medlare utom JDBC Driver. Databasen, antingen i samma maskin eller på en fjärrmaskin, är ansluten via ett nätverk. Det kan kallas som en klient-server-arkitektur.
# 2) Arkitektur med tre nivåer:
Det är motsatsen till tvåskiktsarkitektur. Det finns ingen direkt kommunikation mellan användaren och databasen. Användaren skickar begäran till den mellanliggande nivån (Application Server) från vilken begäran skickas igen till databasen. Sedan behandlar databasen begäran och skickar resultatet till det mellanliggande nivån som användaren får resultatet / svaret från.
Det förenklar distribution och hantering. Management Information System (MIS) -direktörer använder denna arkitektur eftersom det gör det enkelt att behålla åtkomstkontroll och uppdateringar av företagsdata.
Tre-lags arkitektur
Komponenter i JDBC
Det finns fyra huvudkomponenter tillgängliga i JDBC. Dom är:
- JDBC API
- JDBC Driver Manager
- JDBC Test Suite
- JDBC - ODBC Bridge
# 1) JDBC API: Det ger åtkomst till relationsdatabaser från vilket Java-program som helst. JDBC API har en uppsättning klasser och gränssnitt som är skrivna i Java som ger ett standardverktyg / API för utvecklare. Med hjälp av JDBC API kan du skapa och utföra SQL-frågor, ta emot resultatet och utföra ändringar av data och spara resultaten tillbaka till databasen.
Det kan interagera med flera databaser som Oracle, MySQL, MS Access från ett enda Java-program. Med JDBC API är det inte nödvändigt att skriva ett program för att få åtkomst till Oracle DB, ett annat program för att komma åt MySQL, ett annat program för att komma åt MS Access, och så vidare.
JDBC API är en del av Java Platform som har både Java Standard Edition (Java SE) och Java Enterprise Edition (Java EE).
API för JDBC 4.0 har två paket.
- Java.sql
- Javax.sql
Båda paketen finns i Java SE och Java EE.
# 2) JDBC Driver Manager: Det traditionella hanteringsskiktet för JDBC är Driver Manager och det fungerar som ett gränssnitt mellan användaren och drivrutinerna. Den behåller spårningsuppgifterna för de tillgängliga drivrutinerna och upprättar en anslutning mellan databasen och lämplig drivrutin. Den definierar objekten som kan ansluta Java-appen till JDBC Driver. Således är det ryggraden i JDBC API.
Vi kommer att diskutera Driver Manager i nästa handledning.
# 3) JDBC Test Suite: Det hjälper till att hitta om JDBC Drivers kör programmet eller inte. Det ger förtroende och överensstämmelse att programmet körs av JDBC Drivers.
# 4) JDBC- ODBC Bridge: Detta använder ODBC-drivrutiner som JDBC-drivrutiner. Det liknar TYPE I-drivrutinen som redan beskrivs i avsnittet om drivrutiner i denna handledning.
Viktiga punkter att notera:
- JDBC används för att interagera med databasen från alla Java-program som Java-applikationer, Applets, Servlets.
- Den senaste versionen av JDBC är JDBC 4.3 Det är stabilt släppt sedan 21stSep 2017.
- Typ I-förare: JDBC ODBC Bridge - lätt att använda men ODBC är plattformsberoende. Det är också en lågpresterande drivrutin.
- Typ II-förare: Native API - Inbyggd koddel ersatte ODBC-delen i typ I-drivrutinen och riktade mot en specifik databasprodukt. Det är snabbare än typ I Driver.
- Typ III-förare: Middle Tier eller Application Server används som ett gränssnitt mellan JDBC Driver och databas. Kunskap om Application Server behövs för att använda den effektivt.
- Typ IV-förare: JDBC Driver kommunicerar omedelbart med databasen. Databasleverantörer använder den här typen av drivrutin och tillhandahåller den till kunder eller utvecklare.
- JDBC kan användas i alla program som är skrivna på Java-språk.
Slutsats
I denna JDBC-handledning har vi lärt oss om grunderna i JDBC och de förutsättningar som behövs innan du fortsätter med JDBC. Vi har sett dess versioner och fyra typer av drivrutiner som hjälper utvecklarna att bestämma vilken typ av drivrutin som ska användas i program.
Vi diskuterade också JDBC: s arkitektur och dess fyra kärnkomponenter.
Rekommenderad läsning
- JDBC DriverManager, JDBC PreparedStatement and Statement
- ChromeDriver Selen Tutorial: Selen Webdriver Tests på Chrome
- Java SWING-handledning: Container, komponenter och händelsehantering
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- Datadriven ram i Selen WebDriver med hjälp av Apache POI
- Hantering av iFrames med Selenium WebDriver switchTo () -metod
- Test av tillgänglighet med Selen Webdriver med kodexempel
- Hur man kör Selen WebDriver i olika populära webbläsare