java jdbc tutorial what is jdbc
Startende med det grundlæggende forklarer denne JDBC-vejledning komponenter, arkitektur og typer drivere i Java Database Connectivity (JDBC):
Denne tutorial forklarer, hvad der er JDBC, dets versioner frigivet indtil nu, hvad er de nødvendige forudsætninger, før du fortsætter med JDBC, typer af drivere osv. I slutningen af denne tutorial kender du det grundlæggende i Java Database Connectivity eller JDBC, og hvor kan vi bruge det.
Lad os starte denne tutorial med det grundlæggende i JDBC.
Hvad du vil lære:
Liste over Java JDBC-vejledninger
Tutorial # 1: Hvad er JDBC (Java Database Connectivity) (Denne vejledning)
Tutorial # 2: Java JDBC-forbindelsesvejledning med programmeringseksempel
Tutorial # 3: JDBC DriverManager, JDBC forberedt Erklæring og erklæring
Tutorial # 4: JDBC ResultSet: Sådan bruges Java ResultSet til at hente data
Tutorial # 5: Java JDBC-transaktionsstyring med eksempel
Tutorial # 6: JDBC-undtagelseshåndtering - Sådan håndteres SQL-undtagelser
Tutorial # 7: JDBC batchbehandling og lagret procedurevejledning
Tutorial # 8: Top 25+ JDBC Interview Spørgsmål og svar
Hvad er JDBC
I de fleste Java-applikationer er der altid behov for at interagere med databaser for at hente, manipulere og behandle dataene. Til dette formål er Java JDBC blevet introduceret.
JDBC er den almindeligt anvendte korte form til Java Database Connectivity. Ved at bruge JDBC kan vi interagere med forskellige typer af relationsdatabaser som Oracle, MySQL, MS Access osv.
Før JDBC blev ODBC API introduceret for at forbinde og udføre operationer med databasen. ODBC bruger en ODBC-driver, der er platformafhængig, fordi den blev skrevet på C-programmeringssprog. JDBC API er skrevet på Java-sprog, er platformuafhængig og gør Java-platformuafhængig selv.
Nedenstående diagram viser den grundlæggende strøm af JDBC:
Versioner af JDBC
Oprindeligt havde Sun Microsystems frigivet JDBC i JDK 1.1 den 19. februar 1997. Derefter har det været en del af Java-platformen.
Følgende tabel indeholder JDBC-versioner og implementeringer:
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 |
Forudsætning
Inden du går videre med JDBC-vejledningen, skal du have god viden om Java, så du kan bruge JDBC i Java-programmer.
=> Anbefalet læsning: Java-vejledninger
Forudsætningerne for at implementere JDBC i Java-applikationer er som følger:
1. Java skal installeres i det system, hvor du vil oprette Java-applikationer og bruge JDBC.
Se dette link til Java-installation.
to. Du skal have de rigtige JDBC-driver jar-filer for at oprette forbindelse til DBMS. Hver database har forskellige JDBC-driver jar-filer.
Du kan downloade disse filer til den specifikke database ved hjælp af linkene i følgende tabel:
Database med downloadlink | JDBC-driverudbyderens navn | JAR-filnavn |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Oracle | Oracle Corporation | Oracleojdbc8.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-adgang | UCanAccess.com | MS-adgangucanaccess-VERSION.jar |
Drivertyper i JDBC
Lad os nu diskutere drivertyperne i JDBC for at hjælpe dig med at vælge den, der passer til dit program.
Alle RDMS (Relational Database Management System) har brug for en driver, hvis de skal åbnes uden for deres system. Så det kræves, at JDBC Driver udfører SQL-forespørgsler og får resultatet fra databasen.
Der er 4 forskellige typer drivere tilgængelige i JDBC. De klassificeres ud fra den teknik, der bruges til at få adgang til en database.
De er som følger:
- Type I: JDBC- ODBC Bridge
- Type II: Native APT - delvis Java-driver
- Type III: Netværksprotokol - Fuld Java-driver
- Type IV: Tynd driver - Fuld Java-driver
Type I: JDBC- ODBC Bridge
I denne type driver fungerer JDBC - ODBC Bridge som en grænseflade mellem klient og DB-server. Når en bruger bruger Java-applikationen til at sende anmodninger til databasen ved hjælp af JDBC - ODBC Bridge, konverterer den først JDBC API til ODBC API og sender den derefter til databasen. Når resultatet modtages fra DB, sendes det til ODBC API og derefter til JDBC API.
Denne driver er platformafhængig, fordi den bruger ODBC, som afhænger af operativsystemets oprindelige bibliotek. I denne type skal JDBC - ODBC-driveren installeres i hvert klientsystem, og databasen skal understøtte ODBC-driveren.
Når det ikke betyder noget om installationen i klientmaskinen, kan vi bruge denne driver. Det er let at bruge, men det giver lav ydeevne på grund af konvertering af JDBC-metodeopkald til ODBC-metodeopkald.
Bemærk: Den er tilgængelig i JDK 1.2
Java 8 understøtter ikke denne type driver. Oracle anbefaler, at brugeren bruger de JDBC-drivere, der leveres af deres databaseleverandører.
Figur: Type I: JDBC - ODBC Bridge Driver
Type II: Native API - Delvis Java Driver
Det ligner Type I Driver. Her erstattes ODBC-delen med native-kode i Type II Driver. Denne oprindelige kodedel er målrettet mod et specifikt databaseprodukt. Det bruger bibliotekerne på klientsiden af databasen. Denne driver konverterer JDBC-metodeopkald til oprindelige opkald fra den oprindelige database-API.
Når databasen modtager anmodningerne fra brugeren, behandles anmodningerne og sendes tilbage med resultaterne i det oprindelige format, der skal konverteres til JDBC-format og give det til Java-applikationen.
Det blev straks vedtaget af DB-leverandørerne, fordi det var hurtigt og billigt at implementere. Det er også i DB's oprindelige format.
Denne type driver giver hurtigere respons og ydeevne end Type I-driveren.
Figur: Type II: Native APT - delvis Java-driver
Type III: Netværksprotokol
Type III-driveren er fuldt skrevet i Java. Det er som en 3-lags tilgang for at få adgang til databasen. Det sender JDBC-metoden opkald til en mellemliggende server. På vegne af JDBC kommunikerer den mellemliggende server med databasen. Applikationsserveren (mellem- eller mellemklasse) konverterer JDBC-opkaldene enten direkte eller indirekte til den leverandørspecifikke databaseprotokol.
Denne tilgang øger ikke arkitektureffektiviteten, og det er også dyrt på grund af dette foretrækker de fleste databaseleverandører ikke denne driver. Da applikationsserveren bruges, skal du have god viden om applikationsserveren for at bruge denne tilgang effektivt.
Figur: Type III: Netværksprotokol - Fuld Java-driver
Type IV: Tynd driver
Type IV-driver implementeres direkte, der konverterer JDBC-opkald direkte til leverandørspecifik databaseprotokol. I dag er de fleste af JDBC-drivere type IV-drivere. Det er skrevet fuldt ud i Java og er således platformuafhængigt. Det er installeret inde i JVM (Java Virtual Machine) på klienten, så du behøver ikke at installere nogen software på klienten eller serversiden. Denne driverarkitektur har al logik til at kommunikere direkte med DB i en enkelt driver.
Det giver bedre ydelse end den anden type drivere. Det giver mulighed for nem implementering. I dag er denne type driver udviklet af databaseleverandøren selv, så programmører kan bruge den direkte uden afhængighed af andre kilder.
Figur: Type IV: tynd driver - fuldt Java-driver
Anvendelser af JDBC
JDBC kan bruges i Java-applikationer, Applets, Servlets eller andre Java-programmer, hvor du vil oprette forbindelse til DB.
For eksempel, Selvstændige applikationer, websteder, bankapplikationer osv.,
Arkitektur og komponenter i JDBC
JDBC Arkitektur: Det understøtter to typer behandlingsmodeller for at få adgang til DB.
Disse er:
- To-lags arkitektur
- Tre-lags arkitektur
# 1) To-lags arkitektur:
Det hjælper Java-applikationen med at oprette direkte forbindelse til databasen. Det har brug for en JDBC-driver til kommunikationen med en bestemt DB. Brugeren sender anmodningerne til DB og modtager svaret direkte uden nogen mediator undtagen JDBC Driver. Databasen, enten i den samme maskine eller på en ekstern maskine, er forbundet via et netværk. Det kan kaldes som en klientserverarkitektur.
# 2) Arkitektur i tre niveauer:
Det er det modsatte af to-lags arkitektur. Der er ingen direkte kommunikation mellem brugeren og databasen. Brugeren sender anmodningen til det midterste niveau (Application Server), hvorfra anmodningen igen sendes til Database. Derefter behandler databasen anmodningen og sender resultatet til det mellemliggende niveau, hvorfra brugeren modtager resultatet / svaret.
Det forenkler implementering og styring. Management Information System (MIS) direktører bruger denne arkitektur, da det gør det nemt at opretholde adgangskontrol og opdateringer til virksomhedsdata.
Tre-lags arkitektur
Komponenter i JDBC
Der er 4 hovedkomponenter til rådighed i JDBC. De er:
- JDBC API
- JDBC Driver Manager
- JDBC Test Suite
- JDBC - ODBC Bridge
# 1) JDBC API: Det giver adgang til relationsdatabaser fra ethvert Java-program. JDBC API har et sæt klasser og grænseflader, der er skrevet i Java, der giver et standardværktøj / API til udviklere. Ved hjælp af JDBC API kan du oprette og udføre SQL-forespørgsler, modtage resultatet og udføre ændringer i dataene og gemme resultaterne tilbage i databasen.
Det kan interagere med flere databaser som Oracle, MySQL, MS Access fra et enkelt Java-program. Med JDBC API er det ikke nødvendigt at skrive et program for at få adgang til Oracle DB, et andet program for at få adgang til MySQL, et andet program for at få adgang til MS Access osv.
JDBC API er en del af Java Platform, som har både Java Standard Edition (Java SE) og Java Enterprise Edition (Java EE).
JDBC 4.0 API har 2 pakker.
- Java.sql
- Javax.sql
Begge pakker er tilgængelige i Java SE og Java EE.
# 2) JDBC Driver Manager: Det traditionelle styringslag af JDBC er Driver Manager, og det fungerer som en grænseflade mellem brugeren og driverne. Det gemmer sporingsoplysningerne om de tilgængelige drivere og opretter en forbindelse mellem databasen og den relevante driver. Det definerer de objekter, der kan forbinde Java-appen til JDBC Driver. Det er således rygraden i JDBC API.
Vi diskuterer Driver Manager i den næste vejledning.
# 3) JDBC Test Suite: Det hjælper med at finde ud af, om JDBC-driverne kører programmet eller ej. Det giver tillid og overensstemmelse, at programmet køres af JDBC Drivers.
# 4) JDBC- ODBC Bridge: Dette gør brug af ODBC-drivere som JDBC-drivere. Det ligner TYPE I-driveren, som allerede er dækket af afsnittet om drivertyper i denne vejledning.
Nøglepunkter, der skal bemærkes:
- JDBC bruges til at interagere med databasen fra ethvert Java-program som f.eks. Java-applikationer, Applets, Servlets.
- Den seneste version af JDBC er JDBC 4.3. Den er stabil udgivelse siden 21St.Sep 2017.
- Type I driver: JDBC ODBC Bridge - let at bruge, men ODBC er platformafhængig. Det er også en driver med lav ydeevne.
- Type II-driver: Native API - Native kodedel erstattede ODBC-delen i Type I-driver og målrettet mod et specifikt databaseprodukt. Det er hurtigere end Type I Driver.
- Type III-driver: Middle Tier eller Application Server bruges som en grænseflade mellem JDBC Driver og database. Viden om applikationsserver er nødvendig for at bruge den effektivt.
- Type IV-driver: JDBC Driver kommunikerer straks med databasen. Databaseleverandører bruger denne type driver og leverer den til kunder eller udviklere.
- JDBC kan bruges i ethvert program, der er skrevet på Java-sprog.
Konklusion
I denne JDBC-tutorial har vi lært om det grundlæggende i JDBC og de nødvendige forudsætninger, før du fortsætter med JDBC. Vi har set dens versioner og 4 typer drivere, som hjælper udviklerne med at beslutte, hvilken type driver der skal bruges i programmer.
Vi diskuterede også JDBC's arkitektur og dens 4 kernekomponenter.
Anbefalet læsning
- JDBC DriverManager, JDBC forberedt Erklæring og erklæring
- ChromeDriver Selenium-tutorial: Selenium Webdriver-test på Chrome
- Java SWING Tutorial: Container, komponenter og håndtering af begivenheder
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger
- Datadrevet ramme i Selen WebDriver ved hjælp af Apache POI
- Håndtering af iFrames ved hjælp af Selen WebDriver switchTo () -metoden
- Test af tilgængelighed med Selenium Webdriver med kodeeksempel
- Sådan køres Selenium WebDriver i forskellige populære browsere