java jdbc tutorial what is jdbc
Počevši od osnova, ovaj JDBC vodič objašnjava komponente, arhitekturu i tipove pokretačkih programa u Java Database Connectivity (JDBC):
Ovaj vodič objašnjava što je JDBC, njegove verzije do sada izdane, koji su preduvjeti potrebni prije nastavka s JDBC-om, vrste upravljačkih programa itd. Na kraju ovog vodiča poznavat ćete osnove povezivanja Java baze podataka ili JDBC i gdje možemo li ga koristiti.
Započnimo ovaj vodič s osnovama JDBC-a.
Što ćete naučiti:
Popis Java JDBC vodiča
Vodič br. 1: Što je JDBC (povezivanje Java baze podataka) (Ovaj vodič)
Vodič br. 2: Vodič za Java JDBC povezivanje s primjerom programiranja
Vodič br. 3: JDBC DriverManager, JDBC PreparedStatement and Statement
Vodič br. 4: JDBC ResultSet: Kako koristiti Java ResultSet za preuzimanje podataka
Vodič br. 5: Java JDBC upravljanje transakcijama s primjerom
Vodič br. 6: Rukovanje iznimkama JDBC - Kako postupati s SQL iznimkama
Vodič br. 7: Vodič za JDBC skupnu obradu i pohranjene postupke
Vodič br. 8: Top 25 i više pitanja i odgovora za JDBC intervju
Što je JDBC
U većini Java aplikacija uvijek postoji potreba za interakcijom s bazama podataka radi preuzimanja, manipulacije i obrade podataka. U tu svrhu uveden je Java JDBC.
JDBC je uobičajeni kratki oblik za povezivanje Java baze podataka. Korištenjem JDBC-a možemo komunicirati s različitim vrstama relacijskih baza podataka kao što su Oracle, MySQL, MS Access itd.
Prije JDBC-a uveden je ODBC API za povezivanje i izvođenje operacija s bazom podataka. ODBC koristi ODBC pokretački program koji ovisi o platformi jer je napisan u programskom jeziku C. JDBC API napisan je na Java jeziku, neovisan je o platformi i sam čini Java neovisnom o platformi.
Ispod dijagrama prikazan je osnovni tok JDBC:
Verzije JDBC-a
U početku je Sun Microsystems objavio JDBC u JDK 1.1 19. veljače 1997. Nakon toga je dio Java platforme.
Sljedeća tablica sadrži JDBC verzije i implementacije:
JDBC verzija | Implementacija JDK | Godina |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017. godine |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001. godine |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014. godine |
Preduvjet
Prije nego što nastavite s JDBC vodičem, morate dobro poznavati Javu kako biste JDBC mogli koristiti u Java programima.
=> Preporučena literatura: Java vodiči
Preduvjeti za implementaciju JDBC-a u Java programe su sljedeći:
1. Java bi trebala biti instalirana u sustav u kojem želite stvoriti Java aplikaciju i koristiti JDBC.
Pogledajte ovo veza za instalaciju Jave.
dva. Trebali biste imati odgovarajuće JDBC datoteke jar datoteka za povezivanje sa DBMS-om. Svaka baza podataka ima različite datoteke jar datoteka JDBC.
Te datoteke možete preuzeti za određenu bazu podataka pomoću veza u sljedećoj tablici:
Baza podataka s vezom za preuzimanje | Ime dobavljača upravljačkog programa JDBC | Naziv datoteke JAR |
---|---|---|
MySQL | Korporacija Oracle | MySQLmysql-konektor-java-VERSION.jar |
Oracle | Korporacija Oracle | Oracleojdbc8.jar |
SQL Server | Korporacija Microsoft | SQL Serversqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | PostgreSQL grupa za globalni razvoj | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
MS Access | UCanAccess.com | MS Accessucanaccess-VERSION.jar |
Vrste upravljačkih programa u JDBC
Sada, razgovarajmo o vrstama upravljačkih programa u JDBC-u da bismo vam pomogli odabrati onaj prikladan za vaš program.
Svim RDMS-ovima (sustav relacijskog upravljanja bazama podataka) potreban je upravljački program ako im se želi pristupiti izvan njihovog sustava. Dakle, JDBC upravljački program potreban je za izvršavanje SQL upita i dobivanje rezultata iz baze podataka.
U JDBC su dostupne 4 različite vrste upravljačkih programa. Klasificirani su na temelju tehnike koja se koristi za pristup bazi podataka.
Oni su sljedeći:
- Tip I: JDBC-ODBC most
- Tip II: Izvorni APT - Djelomično Java Driver
- Tip III: mrežni protokol - potpuno Java upravljački program
- Tip IV: tanki upravljački program - potpuno Java upravljački program
Tip I: JDBC-ODBC most
U ovoj vrsti upravljačkog programa, JDBC - ODBC most djeluje kao sučelje između klijenta i DB poslužitelja. Kada korisnik koristi Java aplikaciju za slanje zahtjeva u bazu podataka pomoću JDBC - ODBC mosta, prvo pretvara JDBC API u ODBC API, a zatim ga šalje u bazu podataka. Kada se rezultat primi iz DB-a, on se šalje ODBC API-ju, a zatim JDBC API-ju.
Ovaj upravljački program ovisi o platformi jer koristi ODBC koji ovisi o izvornoj knjižnici OS-a. U ovom tipu, JDBC - ODBC pokretački program trebao bi biti instaliran u svaki klijentski sustav, a baza podataka mora podržavati ODBC upravljački program.
Kad nije bitno instaliranje u klijentskom stroju, možemo koristiti ovaj upravljački program. Jednostavan je za upotrebu, ali daje niske performanse zbog pretvorbe poziva JDBC metode u pozive ODBC metode.
Napomena: Dostupno je u JDK 1.2
Java 8 ne podržava ovu vrstu upravljačkog programa. Oracle preporučuje da korisnik koristi JDBC upravljačke programe koje pružaju njihovi dobavljači baza podataka.
Slika: Tip I: JDBC - ODBC upravljački program mosta
Tip II: Izvorni API - Djelomično Java Driver
Slično je vozaču tipa I. Ovdje se ODBC dio zamjenjuje izvornim kodom u upravljačkom programu tipa II. Ovaj dio izvornog koda usmjeren je na određeni proizvod baze podataka. Koristi knjižnice na klijentskoj strani baze podataka. Ovaj upravljački program pretvara pozive JDBC metode u izvorne pozive matičnog API-ja baze podataka.
Kada baza podataka dobije zahtjeve od korisnika, zahtjevi se obrađuju i šalju natrag s rezultatima u izvornom formatu koji se trebaju pretvoriti u JDBC format i predati Java aplikaciji.
DB dobavljači su ga odmah prihvatili jer je bio brz i jeftin za primjenu. Također je u izvornom formatu DB-a.
Ova vrsta upravljačkog programa daje brži odziv i performanse od upravljačkog programa tipa I.
Slika: Tip II: Izvorni APT - Djelomično Java Driver
Tip III: Mrežni protokol
Pokretač tipa III u potpunosti je napisan na Javi. To je poput trorazinskog pristupa pristupu bazi podataka. Pozive JDBC metode šalje na posredni poslužitelj. U ime JDBC, posrednički poslužitelj komunicira s bazom podataka. Aplikacijski poslužitelj (srednji ili srednji) pretvara JDBC pozive izravno ili neizravno u protokol baze podataka specifičnog za dobavljača.
Ovaj pristup ne povećava učinkovitost arhitekture, a također je i skup, zbog toga većina dobavljača baza podataka ne preferira ovaj pokretački program. Budući da se koristi aplikacijski poslužitelj, morate imati dobro znanje o aplikacijskom poslužitelju da biste učinkovito koristili ovaj pristup.
Slika: Tip III: Mrežni protokol - Potpuno Java upravljački program
Tip IV: tanki pokretač
Pogonski program tipa IV izravno je implementiran koji JDBC pozive pretvara izravno u protokol baze podataka specifičnog za dobavljača. Danas je većina JDBC pokretačkih programa vozača tipa IV. Napisan je u potpunosti na Javi i samim tim neovisan je o platformi. Instalira se unutar JVM (Java virtualni stroj) klijenta, tako da ne morate instalirati nikakav softver na klijentu ili na strani poslužitelja. Ova arhitektura upravljačkog programa ima svu logiku za izravnu komunikaciju s DB-om u jednom pogonu.
Pruža bolje performanse od ostalih vrsta vozača. Omogućuje lako raspoređivanje. Danas ovu vrstu pokretačkog programa razvija sam dobavljač baze podataka tako da ga programeri mogu izravno koristiti bez ovisnosti o drugim izvorima.
Slika: Tip IV: Tanak upravljački program - Potpuno Java upravljački program
Primjene JDBC-a
JDBC se može koristiti u Java aplikacijama, apletima, servletima ili bilo kojim drugim Java programima gdje se želite povezati s DB-om.
Na primjer, Samostalne aplikacije, web stranice, bankarske aplikacije itd.,
Arhitektura i komponente JDBC-a
JDBC arhitektura: Podržava dvije vrste modela obrade za pristup DB-u.
Ovi su:
- Dvorazinska arhitektura
- Troslojna arhitektura
# 1) Dvorazinska arhitektura:
Pomaže Java aplikaciji da se izravno poveže s bazom podataka. Za komunikaciju s određenim DB-om potreban mu je JDBC pokretački program. Korisnik šalje zahtjeve DB-u i prima odgovor izravno bez ikakvog posrednika, osim JDBC pogonitelja. Baza podataka, na istom stroju ili na udaljenom stroju, povezana je mrežom. Može se nazvati arhitekturom klijent-poslužitelj.
# 2) Arhitektura u tri razine:
Suprotno je dvorazinskoj arhitekturi. Ne postoji izravna komunikacija između korisnika i baze podataka. Korisnik šalje zahtjev srednjem sloju (poslužitelj aplikacija) s kojeg se zahtjev ponovno šalje u bazu podataka. Tada baza podataka obrađuje zahtjev i šalje rezultat na srednji nivo iz kojeg korisnik prima rezultat / odgovor.
Pojednostavljuje postavljanje i upravljanje. Direktori Upravljačkog informacijskog sustava (MIS) koriste ovu arhitekturu jer olakšava održavanje kontrole pristupa i ažuriranja korporativnih podataka.
Troslojna arhitektura
Komponente JDBC-a
U JDBC su dostupne 4 glavne komponente. Oni su:
- JDBC API
- Upravitelj upravljačkim programima JDBC
- JDBC testni paket
- JDBC - ODBC most
# 1) JDBC API: Pruža pristup relacijskim bazama podataka iz bilo kojeg Java programa. JDBC API ima skup klasa i sučelja napisanih na Javi koja daje standardni alat / API za programere. Korištenjem JDBC API-ja možete stvarati i izvršavati SQL upite, primati rezultat i izvoditi promjene podataka te rezultate spremati natrag u bazu podataka.
Može komunicirati s više baza podataka kao što su Oracle, MySQL, MS Access iz jednog Java programa. S JDBC API-jem nije potrebno pisati jedan program za pristup Oracle DB-u, drugi program za pristup MySQL-u, drugi program za pristup MS Accessu i tako dalje.
JDBC API dio je Java platforme koji ima i Java Standard Edition (Java SE) i Java Enterprise Edition (Java EE).
API JDBC 4.0 ima 2 paketa.
- Java.sql
- Javax.sql
Oba su paketa dostupna u Java SE i Java EE.
# 2) Upravitelj upravljačkim programima JDBC: Tradicionalni upravljački sloj JDBC-a je Driver Manager i djeluje kao sučelje između korisnika i upravljačkih programa. Čuva detalje praćenja dostupnih upravljačkih programa i uspostavlja vezu između baze podataka i odgovarajućeg upravljačkog programa. Definira objekte koji mogu povezati Java aplikaciju s JDBC upravljačkim programom. Dakle, to je okosnica JDBC API-ja.
O upravitelju upravljačkih programa razgovarat ćemo u sljedećem vodiču.
# 3) JDBC testni paket: Pomaže u pronalaženju hoće li JDBC upravljački programi pokrenuti program ili ne. Pruža povjerenje i usklađenost da će program pokretati upravljački programi JDBC.
# 4) JDBC-ODBC most: Ovo koristi ODBC pogonitelje kao JDBC upravljačke programe. Sličan je upravljačkom programu TIPA I koji je već obrađen u odjeljku tipova upravljačkih programa u ovom vodiču.
Ključne točke koje treba napomenuti:
- JDBC se koristi za interakciju s bazom podataka iz bilo kojeg Java programa, poput Java aplikacije, Appleta, Servleta.
- Najnovija verzija JDBC-a je JDBC 4.3. Stabilno je izdanje od 21. godinesvRujna 2017.
- Vozač tipa I: JDBC ODBC most - jednostavan za upotrebu, ali ODBC ovisi o platformi. Također je pokretač niskih performansi.
- Vozač tipa II: Izvorni API - Izvorni kodni dio zamijenio je ODBC dio u upravljačkom programu tipa I i ciljao na određeni proizvod baze podataka. Brži je od upravljačkog programa tipa I.
- Vozač tipa III: Srednji nivo ili aplikacijski poslužitelj koristi se kao sučelje između JDBC pogonitelja i baze podataka. Za učinkovito korištenje potrebno je znanje o aplikacijskom poslužitelju.
- Vozač tipa IV: JDBC upravljački program odmah komunicira s bazom podataka. Dobavljači baza podataka koriste ovu vrstu upravljačkog programa i pružaju ga kupcima ili programerima.
- JDBC se može koristiti u bilo kojem programu koji je napisan na jeziku Java.
Zaključak
U ovom JDBC vodiču naučili smo o osnovama JDBC-a i preduvjetima potrebnim prije nego što nastavimo s JDBC-om. Vidjeli smo njegove verzije i 4 vrste upravljačkih programa koji pomažu programerima da odluče vrstu upravljačkog programa koji će se koristiti u programima.
Također smo razgovarali o arhitekturi JDBC-a i njegove 4 ključne komponente.
Preporučena literatura
- JDBC DriverManager, JDBC PreparedStatement and Statement
- Vodič za ChromeDriver Selenium: Testovi Selenium Webdriver-a na Chromeu
- Java SWING Vodič: Spremnici, komponente i upravljanje događajima
- JAVA Tutorial za početnike: 100+ praktičnih Java Video tutorijala
- Data Driven Framework u Selenium WebDriver koristeći Apache POI
- Rukovanje iFramovima pomoću metode Selenium WebDriver switchTo ()
- Ispitivanje pristupačnosti pomoću Selenium Webdriver s primjerom koda
- Kako pokrenuti Selenium WebDriver u različitim popularnim preglednicima