top 25 jdbc interview questions
Ovaj tutorial pruža često postavljana pitanja i odgovore na JDBC intervju s objašnjenjima koja će vam pomoći da se pripremite za intervju:
U JDBC skupna obrada i pohranjeni postupak vodič za JDBC serija lekcija , naučili smo metode za grupnu obradu u Javi pomoću JDBC upravljačkog programa, a također smo naučili stvarati pohranjene procedure i pozivati ih iz Java programa.
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.
Ovaj će vam članak pomoći da razbijete JDBC intervju. Ovdje smo objasnili sve važne JDBC koncepte.
Često postavljana pitanja o intervjuu za JDBC
P # 1) Što je JDBC?
Odgovor: Povezivanje Java baze podataka neslužbeno je poznato kao JDBC. Koristi se za izvođenje DB operacija u bazi podataka iz Java aplikacije. Podržava interakciju s bilo kojom vrstom DB-a poput Oracle, MySQL, MS Access itd.
P # 2) Koja je upotreba JDBC pokretačkog programa?
Odgovor: To je softverska komponenta i koristi se za stvaranje Java aplikacije za interakciju s bazom podataka.
P # 3) Koje su različite vrste upravljačkih programa u JDBC?
Odgovor: Postoje 4 različita JDBC pokretača na tržištu.
Oni su:
- Tip I: JDBC - ODBC most
- Tip II: Izvorni API - Pola Java Driver
- Tip III: Mrežni protokol - potpuno Java upravljački program
- Tip IV: Tanki upravljački program - Potpuno Java vozač
Tip I: JDBC-ODBC most
JDBC-ODBC most ponašat će se kao sučelje između klijenta i DB poslužitelja. Klijent bi u nju trebao staviti upravljački program JDBC-ODBC. Baza podataka trebala bi podržavati ODBC pokretački program. Ako nas ne brine instalacija upravljačkog programa u klijentskom sustavu, koristit ćemo ovaj upravljački program.
Tip II: Izvorni API: Pola Java Driver
Gotovo je poput JDBC-ODBC upravljačkog programa. Umjesto ODBC upravljačkog programa, ovdje koristimo izvorni API. Koriste se knjižnice baze podataka na strani klijenta.
Tip III: Mrežni protokol
Radi kao troslojni pristup za pristup bazi podataka. Za povezivanje s DB-om koristit će se posredni poslužitelj. Pozivi JDBC metode šalju podatke na posrednički poslužitelj tada će poslužitelj komunicirati s DB-om.
Tip IV: tanki pokretač
Apsolutno je napisano na Javi. Izričito pretvara pozive JDBC metode u protokol baze podataka specifičan za dobavljača. Danas trgovac bazama podataka sam pruža ovu vrstu pokretačkog programa za svoje kupce. Dakle, programeri se ne oslanjaju na druge izvore. Daje veće performanse od ostalih vozača.
P # 4) Koji tip JDBC upravljačkog programa koristi većina ljudi?
Odgovor: Tanki pokretački program tipa IV koristi se u većini aplikacija. Razvio ga je sam prodavač baze podataka, tako da ga programeri mogu koristiti izravno, bez ovisno o bilo kojem drugom izvoru. Omogućuje jednostavan i lak razvoj. Daje veće performanse od ostalih vozača.
P # 5) Koje su vrste JDBC arhitekture?
Odgovor: JDBC podržava 2 vrste modela obrade za pristup DB-u.
Oni su:
- Dvorazinska arhitektura: Ovdje se Java programi izričito povezuju s DB-om. Ne treba nam posrednik poput aplikacijskog poslužitelja za povezivanje s DB-om, osim JDBC pokretačkog programa. Također je poznata i kao arhitektura klijent-poslužitelj.
- Troslojna arhitektura: Potpuno je inverzna dvorazinskoj arhitekturi. Neće biti eksplicitne komunikacije između JDBC pokretačkog programa ili Java programa i baze podataka. Kao posrednik između njih koristi se aplikacijski poslužitelj. Java program će poslati zahtjev na aplikacijski poslužitelj, a poslužitelj će ga poslati i primiti odgovor na / iz DB-a.
P # 6) Koje su komponente JDBC?
Odgovor: Postoje 4 glavne komponente koje su dostupne u JDBC.
Oni su:
- JDBC API
- Upravitelj upravljačkim programima JDBC
- JDBC testni paket
- JDBC - ODBC most
P # 7) Koji su koraci za povezivanje s JDBC?
Odgovor: Postoji 6 osnovnih koraka za povezivanje s DB-om u Javi. Oni su navedeni u nastavku:
- Uvozni paket
- Utovarivač tereta
- Uspostavite vezu
- Stvaranje i izvršavanje izjave
- Dohvaćanje rezultata
- Uska veza
P # 8) Koji se tipovi podataka koriste za spremanje slike i datoteke u tablicu baze podataka?
Odgovor:
- BLOB tip podataka koristi se za spremanje slike u DB. Videozapise i audiozapise možemo pohraniti i u BLOB tipu podataka. Koristi se za pohranu binarne vrste podataka.
- Vrsta podataka CLOB koristi se za pohranu datoteke u DB. Koristi se za pohranu vrste podataka znakova.
P # 9) Što je DriverManager u JDBC?
Odgovor: DriverManager je ugrađena klasa prisutna u paketu java.sql. Koristit će se kao posrednik između Java aplikacije i DB-a, koje povezujemo / koristimo u našem kodu. Kao prvi korak, moramo registrirati ili učitati upravljački program s DriverManager-om. Tada će upravljački program biti dostupan za upotrebu u aplikaciji.
Glavna funkcija DriverManager-a je učitavanje klase upravljačkih programa baze podataka i stvaranje veze s DB-om.
Postoje 2 načina za registraciju ili učitavanje upravljačkog programa:
- Class.forName ()
- DriverManager.registerDriver ()
P # 10) Koja je razlika između sučelja Statement i PreparedStatement.
Odgovor: Donja tablica objašnjava razlike:
IZJAVA | PRIPREMENA IZJAVA |
---|---|
Uglavnom će se koristiti za izvršavanje statičkih SQL izraza | Uglavnom će se koristiti za izvršavanje unaprijed sastavljenih SQL izraza |
Neće prihvatiti parametre za vrijeme izvođenja | Tijekom izvršavanja prihvaća različite parametre |
Njegova je izvedba manja u odnosu na pripremljenu Izjavu | Njegova je izvedba veća od Statementa jer izvršava unaprijed sastavljene SQL izraze |
Prikladno je za izvršavanje DDL izraza kao što su CREATE, DROP, ALTER i TRUNCATE | Prikladno je za izvršavanje DML izraza kao što su INSERT, UPDATE i DELETE |
Ne može se koristiti za pohranu ili dohvaćanje slike i datoteke u DB-u | Može se koristiti za pohranu ili dohvaćanje slike i datoteke u DB-u |
Provodi SQL Injection | Sprječava SQL Injection |
Predloženo čitanje = >> JDBC pripremljena izjava i izjava
Q # 11) Objasnite razliku između execute (), executeQuery () i executeUpdate ().
Odgovor:
executeQuery () | executeUpdate () | Izvršiti() |
---|---|---|
Koristi se za izvršavanje SQL izraza koji dohvaćaju neke podatke iz DB-a | Koristi se za izvršavanje SQL izraza koji će ažurirati ili modificirati podatke u DB-u | Koristi se za izvršavanje bilo koje vrste SQL izraza |
Vraća rezultat result set | Vraća cijelu vrijednost koja predstavlja ne. pogođenih redova | Vraća logičku vrijednost TRUE - vraća objekt resultSet FALSE - vraća int vrijednost ili ništa |
Koristi se za izvršavanje samo SELECT upita | Koristi se za izvršavanje samo upita koji nije SELECT | Koristi se za izvršavanje i SELECT i ne-SELECT upita |
P # 12) Kako nazvati pohranjene procedure u JDBC?
Odgovor: SQL pohranjene procedure možemo izvršiti putem sučelja CallableStatement. Objekt CallableStatement može se stvoriti metodom prepaCall () sučelja Connection.
P # 13) Što je sučelje ResultSet?
Odgovor: Sučelje ResultSet koristi se za pohranu izlaznih podataka nakon izvršavanja SQL upita. Objekt ResultSet održava točku kursora na rezultatima podataka. Prema zadanim postavkama, kursor pokazuje prije prvog retka rezultata rezultata. Možemo prelaziti podatke i u objektima skupa rezultata.
implementirajući stog c ++
Sintaksa:
Sučelje izjave:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
Sučelje PreparedStatement:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
P # 14) Koje su vrste ResultSet?
Odgovor: Postoje 3 vrste ResultSet. Ovi su:
najbolji softver za kopiranje DVD-a na tvrdi disk
- TIP_NA SAMO: To je zadana opcija. Kursor će se pomicati od početka do kraja.
- TIP_SCROLL_INSENSITIVE: Kod ovog tipa pokazivač će se pomicati u smjeru naprijed i natrag. Skup podataka ima podatke kada ih SQL upit vraća.
- TIP_SCROLL_SENSITIVE: To je isto kao TYPE_SCROLL_INSENSITIVE, razlika je u tome što će imati ažurirane podatke tijekom iteracije objekta skupa rezultata.
P # 15) Koji su modusi istodobnosti u ResultSet?
Odgovor: U ResultSetu postoje 2 različita načina istodobnosti. Oni su:
- Set rezultata.CONCUR_READ_ONLY : To je zadani način istodobnosti. Dostupna je opcija samo za čitanje. Ažuriranje nije moguće.
- Set rezultata.CONCUR_UPDATABLE: Ažuriranje je moguće.
P # 16) Kako provjeriti podržava li baza podataka paralelni način rada?
Odgovor: Imamo metodu supportResultSetConcurrency () koja će se koristiti za provjeru podržava li baza podataka dani način i paralelni način rada.
P # 17) Možemo li podatke određenog retka dobiti iz skupa rezultata?
Bilješka: ResultSet ima podatke skupa redaka
Odgovor: Da, podatke određenog retka možemo dobiti iz rezultataSet koristeći metodu relativnog (). Premjestit će kursor na zadani redak bilo u smjeru naprijed ili u nazad od trenutnog retka. Ako je dana pozitivna vrijednost, ona će se kretati prema naprijed. Ako je dana negativna vrijednost, kretat će se u nazadnom smjeru.
P # 18) Koja je upotreba metoda dobivanja i postavljanja u ResultSetu?
Odgovor:
Metode dobivanja: Oni se koriste za dohvaćanje vrijednosti određenog stupca tablice iz ResultSet-a. Kao parametar treba proslijediti vrijednost indeksa stupca ili naziv stupca. Obično ćemo metodu getera predstaviti kao metode getXXX ().
Primjer:
- int getInt (niz Column_Name): Koristi se za dohvaćanje vrijednosti navedenog stupca Indeks i tip podataka int kao povratni tip.
Metode postavljača: Vrijednost u bazi podataka možemo postaviti pomoću metoda postavljanja rezultata ResultSet. Slično je getter metodama, ali ovdje moramo proslijediti vrijednosti / podatke za određeni stupac koji ćemo umetnuti u bazu podataka i vrijednost indeksa ili naziv stupca tog stupca. Uobičajeno ćemo metodu postavljanja predstavljati kao metode setXXX ().
Primjer:
- void setInt (int Stupac_Index, int Data_Value): Koristi se za umetanje vrijednosti navedenog stupca Indeks s int vrijednošću.
P # 19) Koja je glavna svrha sučelja ResultSetMetaData?
Odgovor: Ovo sučelje daje više informacija o ResultSetu. Svaki objekt ResultSet povezan je s jednim objektom ResultSetMetaData.
Ovaj će objekt imati detalje o svojstvima stupaca kao što su tip podataka stupca, naziv stupca, broj stupaca u toj tablici, naziv tablice, naziv sheme itd., Metoda getMetaData () objekta ResultSet koristi se za stvaranje ResultSetMetaData objekt.
Sintaksa:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
P # 20) Što je DatabaseMetaData?
Odgovor: Sučelje DatabaseMetaData daje informacije o bazi podataka koju koristimo. Dobit ćemo sljedeće podatke - Ime baze podataka, verzija baze podataka i tako dalje.
P # 21) Što je svojstvo ACID?
Odgovor:
- A – Atomicnost -> Ako su se svi upiti uspješno izvršili, tada će se podaci predati, inače se neće predati.
- C – Konzistentnost -> Podaci bi trebali biti dosljedni nakon bilo koje transakcije.
- I – Izolacija -> Svaka transakcija treba biti izolirana.
- D – Trajnost -> Ako je transakcija izvršena jednom, trebala bi biti dostupna uvijek (ako se nisu dogodile promjene)
P # 22) Kako promijeniti vrijednost načina automatskog urezivanja?
Odgovor: Prema zadanim postavkama vrijednost AutoCommit je TRUE. Nakon izvršavanja SQL izraza, automatski će se izvršiti. Koristeći metodu setAutoCommit (), možemo promijeniti vrijednost u AutoCommit.
P # 23) Koja je upotreba metoda predavanja i vraćanja?
Odgovor:
Način commit (): Mi imamo metodu commit () u Javi za predavanje podataka. Jednom kada se izvrši SQL, možemo pozvati metodu urezivanja.
Sintaksa: connectionobj.commit ();
Metoda vraćanja (): U Java-i imamo metodu vraćanja () za vraćanje podataka. Vraćanje znači poništiti promjene. Ako bilo koji SQL izraz ne uspije, možemo pozvati metodu vraćanja da poništimo promjene.
Sintaksa: connectionobj.rollback ();
P # 24) Što je točka spremanja i koje su metode koje imamo u JDBC za točku spremanja?
Odgovor: Tačka spremanja koristi se za stvaranje kontrolnih točaka u transakciji i omogućuje nam vraćanje na određenu točku spremanja. Jednom kada je transakcija predana ili podržana, točka spremanja stvorena za transakciju automatski će se uništiti i postati nevaljana.
Metode za Savepoint:
- metoda setSavepoint (): Koristi se za stvaranje točke spremanja, metodom vraćanja () možemo poništiti sve promjene do točke spremanja.
- releaseSavepoint () metoda: Koristi se za uklanjanje zadane točke spremanja.
P # 25) Navedite neke iznimke koje potpadaju pod SQLException?
Odgovor:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Kliknite ovdje za više informacija o gornjim iznimkama.
P # 26) Što je skupna obrada i kako to učiniti u JDBC?
Odgovor: Skupna obrada postupak je izvršavanja nekoliko SQL izraza u jednoj transakciji. To će smanjiti vrijeme komunikacije i povećati performanse. Puno olakšava obradu velike količine podataka.
Prednosti šaržne obrade:
- Poboljšajte performanse
- Konzistentnost podataka
Kako izvršiti skupnu obradu:
U Java-i imamo metode addBatch () i executeBatch () za obavljanje skupne obrade. Ove dvije metode prisutne su u razredima Statement i PreparedStatement.
P # 27) Koji je pohranjeni postupak?
Odgovor: Skupina SQL upita koji se izvršavaju kao jedna jedinica za izvršavanje određenog zadatka poznata je pod nazivom Pohranjeni postupak. Možemo proći 3 različite vrste parametara. Svaki postupak predstavljen je svojim imenom. Dakle, naziv postupka trebao bi biti jedinstven.
>> Za više informacija o pohranjenom postupku pogledajte ovo veza .
P # 28) Koje su vrste parametara u pohranjenim procedurama?
Odgovor: U pohranjenim procedurama dostupne su tri vrste parametara. Oni su:
- U: Koristi se za prosljeđivanje ulaznih vrijednosti proceduri.
- VAN: Koristi se za dobivanje vrijednosti iz postupka.
- ULAZ / IZLAZ: Koristi se za prosljeđivanje ulaznih vrijednosti i dobivanje vrijednosti u / iz postupka.
Zaključak
Ovo su neka pitanja iz JDBC intervjua koja pokrivaju i osnovnu i naprednu razinu. Nadamo se da će vam ovaj vodič dati pregled JDBC-a. Gore navedena objašnjenja obogatit će vaše znanje i poboljšati vaše razumijevanje JDBC-a. Sve najbolje!!!
Preporučena literatura
- Vodič za Java JDBC povezivanje s primjerom programiranja
- Java JDBC upravljanje transakcijama s primjerom
- Java JDBC Vodič: Što je JDBC (povezivanje Java baze podataka)
- JDBC ResultSet: Kako koristiti Java ResultSet za preuzimanje podataka
- Intervjuirajte pitanja i odgovore
- 25 najboljih agilnih testova za pitanja i odgovore na intervjue
- Pitanja i odgovori za ispitivanje ETL-a
- Top 25 pitanja i odgovora za intervjue za internetske usluge Java