java jdbc tutorial what is jdbc
Fra og med det grunnleggende forklarer denne JDBC-opplæringen komponenter, arkitektur og typer drivere i Java Database Connectivity (JDBC):
Denne opplæringen forklarer hva som er JDBC, versjonene som er utgitt til nå, hva er forutsetningene som trengs før du fortsetter med JDBC, typer drivere osv. På slutten av denne opplæringen vil du vite det grunnleggende om Java Database Connectivity eller JDBC og hvor kan vi bruke det.
La oss starte denne veiledningen med grunnleggende om JDBC.
Hva du vil lære:
Liste over Java JDBC opplæringsprogrammer
Opplæring # 1: Hva er JDBC (Java Database Connectivity) (Denne opplæringen)
Opplæring nr. 2: Java JDBC-tilkoblingsveiledning med programmeringseksempel
Opplæring # 3: JDBC DriverManager, JDBC PreparedStatement And Statement
Opplæring # 4: JDBC ResultSet: Hvordan bruke Java ResultSet for å hente data
Opplæring # 5: Java JDBC-transaksjonsstyring med eksempel
Opplæring # 6: JDBC Unntakshåndtering - Hvordan håndtere SQL-unntak
Opplæring # 7: JDBC batchbehandling og lagret prosedyreveiledning
Opplæring # 8: Topp 25+ JDBC intervju spørsmål og svar
Hva er JDBC
I de fleste Java-applikasjoner er det alltid behov for å samhandle med databaser for å hente, manipulere og behandle dataene. For dette formålet har Java JDBC blitt introdusert.
JDBC er det ofte brukte korte skjemaet for Java Database Connectivity. Ved å bruke JDBC kan vi samhandle med forskjellige typer relasjonsdatabaser som Oracle, MySQL, MS Access, etc.
Før JDBC ble ODBC API introdusert for å koble til og utføre operasjoner med databasen. ODBC bruker en ODBC-driver som er plattformavhengig fordi den ble skrevet på C-programmeringsspråk. JDBC API er skrevet på Java-språk, er plattformuavhengig og gjør Java-plattformuavhengig selv.
Diagrammet nedenfor viser den grunnleggende flyt av JDBC:
Versjoner av JDBC
Opprinnelig hadde Sun Microsystems gitt ut JDBC i JDK 1.1 19. februar 1997. Etter det har det vært en del av Java-plattformen.
Følgende tabell inneholder JDBC-versjoner og implementeringer:
JDBC-versjon | 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 |
Forutsetning
Før du går videre med JDBC-opplæringen, må du ha god kunnskap om Java slik at du kan bruke JDBC i Java-programmer.
=> Anbefalt lesing: Java Tutorials
Forutsetningene for å implementere JDBC i Java-applikasjoner er som følger:
1. Java skal installeres i systemet der du vil opprette Java-applikasjon og bruke JDBC.
Henvis til dette lenke for Java-installasjon.
2. Du bør ha riktige JDBC-driver jar-filer for å koble til DBMS. Hver database har forskjellige JDBC-driver jar-filer.
Du kan laste ned disse filene for den spesifikke databasen ved hjelp av koblingene i følgende tabell:
Database med nedlastningskobling | JDBC Driver-leverandørnavn | 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 Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Drivertyper i JDBC
La oss nå diskutere drivertypene i JDBC for å hjelpe deg med å velge den som passer for programmet ditt.
Alle RDMS (Relational Database Management System) trenger en driver hvis de skal nås utenom systemet. Så det kreves at JDBC Driver utfører SQL-spørringer og får resultatet fra databasen.
Det er 4 forskjellige typer drivere tilgjengelig i JDBC. De klassifiseres ut fra teknikken som brukes for å få tilgang til en database.
De er som følger:
- Type I: JDBC- ODBC Bridge
- Type II: Native APT - delvis Java-driver
- Type III: Network Protocol- Fullstendig Java-driver
- Type IV: tynn driver - fullt Java-driver
Type I: JDBC- ODBC Bridge
I denne typen drivere fungerer JDBC - ODBC Bridge som et grensesnitt mellom klient og DB-server. Når en bruker bruker Java-applikasjon for å sende forespørsler til databasen ved hjelp av JDBC - ODBC Bridge, konverterer den først JDBC API til ODBC API og sender den deretter til databasen. Når resultatet mottas fra DB, sendes det til ODBC API og deretter til JDBC API.
Denne driveren er plattformavhengig fordi den bruker ODBC, som avhenger av det opprinnelige biblioteket til operativsystemet. I denne typen skal JDBC - ODBC-driveren installeres i hvert klientsystem, og databasen må støtte ODBC-driveren.
Når det ikke er snakk om installasjonen i klientmaskinen, kan vi bruke denne driveren. Det er enkelt å bruke, men det gir lav ytelse på grunn av konvertering av JDBC-metoden samtaler til ODBC-metoden samtaler.
Merk: Den er tilgjengelig i JDK 1.2
Java 8 støtter ikke denne typen drivere. Oracle anbefaler at brukeren bruker JDBC-driverne som leveres av databaseleverandørene.
Figur: Type I: JDBC - ODBC Bridge Driver
Type II: Native API - Delvis Java Driver
Det ligner på Type I Driver. Her erstattes ODBC-delen med innfødt kode i Type II Driver. Denne integrerte kodedelen er rettet mot et bestemt databaseprodukt. Den bruker bibliotekene på klientsiden av databasen. Denne driveren konverterer JDBC-metoden samtaler til innfødte anrop fra databasens innfødte API.
Når databasen får forespørslene fra brukeren, blir forespørslene behandlet og sendt tilbake med resultatene i det opprinnelige formatet som skal konverteres til JDBC-format og gi det til Java-applikasjonen.
Den ble umiddelbart adoptert av DB-leverandørene fordi den var rask og billig å implementere. Det er også i DB-formatet.
Denne typen drivere gir raskere respons og ytelse enn Type I-driveren.
Figur: Type II: Innfødt APT - delvis Java-driver
Type III: Nettverksprotokoll
Type III-driveren er fullstendig skrevet på Java. Det er som en 3-trinns tilnærming for å få tilgang til databasen. Den sender JDBC-metoden samtaler til en mellomtjener. På vegne av JDBC kommuniserer mellomtjeneren med databasen. Applikasjonsserveren (mellom- eller mellomnivå) konverterer JDBC-anropene enten direkte eller indirekte til den leverandørspesifikke databaseprotokollen.
Denne tilnærmingen øker ikke effektiviteten i arkitekturen, og det er også kostbart, på grunn av dette foretrekker de fleste databaseleverandørene ikke denne driveren. Siden applikasjonsserveren brukes, må du ha god kunnskap om applikasjonsserveren for å bruke denne tilnærmingen effektivt.
Figur: Type III: Nettverksprotokoll - Fullstendig Java-driver
Type IV: tynn driver
Type IV-driver er direkte implementert som konverterer JDBC-anrop direkte til leverandørspesifikk databaseprotokoll. I dag er de fleste av JDBC-driverne type IV-drivere. Den er skrevet fullstendig på Java, og er dermed plattformuavhengig. Den er installert inne i JVM (Java Virtual Machine) til klienten, slik at du ikke trenger å installere noen programvare på klienten eller serversiden. Denne driverarkitekturen har all logikk for å kommunisere direkte med DB i en enkelt driver.
Det gir bedre ytelse enn den andre typen drivere. Det muliggjør enkel distribusjon. I dag er denne typen drivere utviklet av databaseleverandøren selv, slik at programmerere kan bruke den direkte uten avhengighet av andre kilder.
Figur: Type IV: tynn driver - fullt Java-driver
Anvendelser av JDBC
JDBC kan brukes i Java-applikasjoner, Applets, Servlets eller andre Java-programmer der du vil koble til DB.
For eksempel, Frittstående applikasjoner, nettsteder, banktjenester, etc.,
Arkitektur og komponenter i JDBC
JDBC Arkitektur: Den støtter to typer behandlingsmodeller for å få tilgang til DB.
Disse er:
- To-lags arkitektur
- Tre-lags arkitektur
#1) To-lags arkitektur:
Det hjelper Java-applikasjonen å koble direkte til databasen. Det trenger en JDBC-driver for kommunikasjonen med en bestemt DB. Brukeren sender forespørslene til DB og mottar svaret direkte uten megler unntatt JDBC Driver. Databasen, enten i samme maskin eller på en ekstern maskin, er koblet til via et nettverk. Det kan kalles som en klient-server-arkitektur.
# 2) Arkitektur i tre nivåer:
Det er motsatt av to-lags arkitektur. Det er ingen direkte kommunikasjon mellom brukeren og databasen. Brukeren sender forespørselen til mellomnivået (Application Server) som forespørselen igjen sendes til Database. Deretter behandler databasen forespørselen og sender resultatet til mellomnivået som brukeren mottar resultatet / svaret fra.
Det forenkler distribusjon og administrasjon. Management Information System (MIS) -direktører bruker denne arkitekturen, da den gjør det enkelt å opprettholde tilgangskontroll og oppdateringer til bedriftsdata.
Tre-lags arkitektur
Komponenter av JDBC
Det er fire hovedkomponenter tilgjengelig i JDBC. De er:
- JDBC API
- JDBC Driver Manager
- JDBC Test Suite
- JDBC - ODBC Bridge
# 1) JDBC API: Det gir tilgang til relasjonsdatabaser fra ethvert Java-program. JDBC API har et sett med klasser og grensesnitt som er skrevet i Java som gir et standardverktøy / API for utviklere. Ved hjelp av JDBC API kan du opprette og utføre SQL-spørringer, motta resultatet og utføre endringer i dataene og lagre resultatene tilbake i databasen.
Den kan samhandle med flere databaser som Oracle, MySQL, MS Access fra et enkelt Java-program. Med JDBC API er det ikke nødvendig å skrive ett program for å få tilgang til Oracle DB, et annet program for å få tilgang til MySQL, et annet program for å få tilgang til MS Access, og så videre.
JDBC API er en del av Java Platform som har både Java Standard Edition (Java SE) og Java Enterprise Edition (Java EE).
JDBC 4.0 API har to pakker.
- Java.sql
- Javax.sql
Begge pakkene er tilgjengelige i Java SE og Java EE.
# 2) JDBC Driver Manager: Det tradisjonelle administrasjonslaget til JDBC er Driver Manager, og det fungerer som et grensesnitt mellom brukeren og driverne. Den beholder sporingsdetaljene til driverne som er tilgjengelige og oppretter en forbindelse mellom databasen og den aktuelle driveren. Den definerer objektene som kan koble Java-appen til JDBC Driver. Dermed er det ryggraden i JDBC API.
Vi vil diskutere Driver Manager i neste opplæring.
# 3) JDBC Test Suite: Det hjelper å finne ut om JDBC-driverne vil kjøre programmet eller ikke. Det gir tillit og samsvar som programmet kjøres av JDBC Drivers.
# 4) JDBC- ODBC Bridge: Dette bruker ODBC-drivere som JDBC-drivere. Det ligner på TYPE I-driveren som allerede er dekket i delen av drivertyper i denne opplæringen.
Viktige punkter å merke seg:
- JDBC brukes til å samhandle med databasen fra ethvert Java-program, for eksempel Java-applikasjoner, Applets, Servlets.
- Den siste versjonen av JDBC er JDBC 4.3. Den er stabil utgivelse siden 21St.Sep 2017.
- Type I-driver: JDBC ODBC Bridge - enkel å bruke, men ODBC er plattformavhengig. Det er også en driver med lav ytelse.
- Type II-driver: Native API - Native code-del erstattet ODBC-delen i Type I-driveren og målrettet mot et bestemt databaseprodukt. Det er raskere enn Type I Driver.
- Type III-driver: Middle Tier eller Application Server brukes som et grensesnitt mellom JDBC Driver og database. Kunnskap om Application Server er nødvendig for å bruke den effektivt.
- Type IV-driver: JDBC Driver kommuniserer umiddelbart med databasen. Databaseleverandører bruker denne typen drivere og leverer den til kunder eller utviklere.
- JDBC kan brukes i alle programmer som er skrevet på Java-språk.
Konklusjon
I denne JDBC-opplæringen har vi lært om det grunnleggende om JDBC og nødvendige forutsetninger før du fortsetter med JDBC. Vi har sett versjonene og fire typer drivere som hjelper utviklerne å bestemme hvilken type driver som skal brukes i programmer.
Vi diskuterte også arkitekturen til JDBC og dens 4 kjernekomponenter.
Anbefalt lesing
- JDBC DriverManager, JDBC PreparedStatement And Statement
- ChromeDriver Selenium Tutorial: Selen Webdriver Tests on Chrome
- Java SWING Tutorial: Container, Components and Event Handling
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- Datadrevet rammeverk i Selenium WebDriver ved hjelp av Apache POI
- Håndtering av iFrames ved hjelp av Selenium WebDriver switchTo () -metoden
- Tilgjengelighetsprøving med Selenium Webdriver med kodeeksempel
- Hvordan kjøre Selen WebDriver i forskjellige populære nettlesere