top 25 jdbc interview questions
Tento tutoriál poskytuje často kladené otázky a odpovede na pohovory JDBC s vysvetleniami, ktoré vám pomôžu pripraviť sa na rozhovor:
V Dávkové spracovanie JDBC a uložená procedúra návod na Séria výukových programov JDBC , naučili sme sa metódy dávkového spracovania v Jave pomocou ovládača JDBC a tiež sme sa naučili vytvárať uložené procedúry a volať ich z programu Java.
JDBC je bežne používaný krátky formulár pre pripojenie databázy Java. Pomocou JDBC môžeme interagovať s rôznymi typmi relačných databáz, ako sú Oracle, MySQL, MS Access atď.
Tento článok vám pomôže rozlúsknuť rozhovor JDBC. Vysvetlili sme tu všetky dôležité koncepty JDBC.
Často kladené otázky o rozhovoroch JDBC
Otázka 1) Čo je JDBC?
Odpoveď: Pripojenie databázy Java je neoficiálne známe ako JDBC. Používa sa na vykonávanie operácií DB v aplikácii Database from Java. Podporuje interakciu s akýmkoľvek typom databáz, ako sú Oracle, MySQL, MS Access atď.
Otázka 2) Na čo slúži ovládač JDBC?
Odpoveď: Je to softvérový komponent a používa sa na interakciu aplikácie Java s databázou.
Otázka č. 3) Aké sú rôzne typy ovládačov v JDBC?
Odpoveď: Na trhu existujú 4 rôzne ovládače JDBC.
Oni sú:
- Typ I: JDBC - most ODBC
- Typ II: Natívne API - polovičný Java ovládač
- Typ III: Sieťový protokol - úplne ovládač Java
- Typ IV: Tenký ovládač - úplne ovládač Java
Typ I: Most JDBC-ODBC
Most JDBC-ODBC sa bude správať ako rozhranie medzi klientom a serverom DB. Klient by doň mal vložiť ovládač JDBC-ODBC. Databáza by mala podporovať ovládač ODBC. Pokiaľ nám nejde o inštaláciu ovládača v klientskom systéme, použijeme tento ovládač.
Typ II: Natívne API: Polovičný ovládač Java
Je to takmer ako ovládač JDBC-ODBC. Namiesto ovládača ODBC tu používame natívne API. Používajú sa knižnice databázy na strane klienta.
Typ III: Sieťový protokol
Funguje to ako trojstupňový prístup k databáze. Na pripojenie k databáze DB sa použije sprostredkujúci server. Hovory metódou JDBC odosielajú údaje na sprostredkujúci server, potom bude server komunikovať s databázou DB.
Typ IV: Tenký ovládač
Je absolútne napísaný v jazyku Java. Výslovne prevádza volania metód JDBC na databázový protokol špecifický pre dodávateľa. V dnešnej dobe samotný obchodník s databázami poskytuje tento typ ovládačov pre svojich zákazníkov. Programátori sa teda nespoliehajú na iné zdroje. Poskytuje vyšší výkon ako ostatné ovládače.
Otázka č. 4) Aký typ ovládača JDBC používa väčšina ľudí?
Odpoveď: Tenký ovládač typu IV sa používa vo väčšine aplikácií. Je vyvinutý samotným dodávateľom databázy, takže ho vývojári môžu používať priamo bez závislosti na iných zdrojoch. Umožňuje jednoduchý a ľahký vývoj. Poskytuje vyšší výkon ako ostatné ovládače.
Otázka č. 5) Aké sú typy architektúry JDBC?
Odpoveď: JDBC podporuje 2 druhy modelov spracovania pre prístup do DB.
Oni sú:
- Dvojvrstvová architektúra: Tu sa programy Java výslovne spájajú s databázou DB. Na pripojenie k databáze nepotrebujeme žiadneho sprostredkovateľa, ako je aplikačný server, okrem ovládača JDBC. Je tiež známa ako architektúra klient-server.
- Trojvrstvová architektúra: Je to úplne inverzné k dvojvrstvovej architektúre. Medzi ovládačom JDBC alebo programom Java a databázou nebude explicitná komunikácia. Ako prostredník medzi nimi sa používa aplikačný server. Program Java odošle požiadavku na aplikačný server a server ju odošle a prijme odpoveď do / z databázy DB.
Otázka č. 6) Čo sú komponenty JDBC?
Odpoveď: V JDBC sú k dispozícii 4 hlavné komponenty.
Oni sú:
- JDBC API
- Správca ovládačov JDBC
- JDBC Test Suite
- JDBC - most ODBC
Otázka č. 7) Aké sú kroky na pripojenie k JDBC?
Odpoveď: Existuje 6 základných krokov na spojenie s DB v Jave. Sú uvedené nižšie:
- Dovozný balíček
- Načítajte ovládač
- Nadviazať spojenie
- Vytvorenie a vykonanie výkazu
- Načítať výsledky
- Úzke spojenie
Otázka 8) Ktoré typy údajov sa používajú na uloženie obrázka a súboru do databázovej tabuľky?
Odpoveď:
- Dátový typ BLOB slúži na uloženie obrazu v DB. Môžeme tiež ukladať videá a audio súbory v dátovom type BLOB. Slúži na ukladanie binárneho typu údajov.
- Dátový typ CLOB slúži na uloženie súboru v DB. Používa sa na ukladanie znakového typu údajov.
Otázka č. 9) Čo je DriverManager v JDBC?
Odpoveď: DriverManager je zabudovaná trieda, ktorá je súčasťou balíka java.sql. Bude použitý ako sprostredkovateľ medzi Java aplikáciou a DB, ktoré pripájame / používame v našom kóde. Najskôr je potrebné zaregistrovať alebo načítať ovládač pomocou aplikácie DriverManager. Potom bude vodič k dispozícii na použitie v aplikácii.
Hlavnou funkciou programu DriverManager je načítanie triedy ovládačov databázy a vytvorenie spojenia s databázou DB.
Existujú 2 spôsoby registrácie alebo načítania ovládača:
- Class.forName ()
- DriverManager.registerDriver ()
Otázka č. 10) Aký je rozdiel medzi rozhraniami Statement a PreparedStatement.
Odpoveď: Nasledujúca tabuľka vysvetľuje rozdiely:
VYHLÁSENIE | PRIPRAVENÉ VYHLÁSENIE |
---|---|
Bude sa používať hlavne na vykonávanie statických príkazov SQL | Bude sa používať hlavne na vykonávanie predkompilovaných príkazov SQL |
Pri behu nebude akceptovať parametre | Pri behu bude akceptovať rôzne parametre |
Jeho výkon je nižší v porovnaní s pripraveným vyhlásením | Jeho výkon je vyšší ako výkon príkazu, pretože vykonáva predkompilované príkazy SQL |
Je vhodný na vykonávanie príkazov DDL, ako sú CREATE, DROP, ALTER a TRUNCATE | Je vhodný na vykonávanie príkazov DML, ako napríklad INSERT, UPDATE a DELETE |
Nemôže sa použiť na ukladanie alebo načítanie obrázkov a súborov v databáze DB | Môže sa použiť na ukladanie alebo načítanie obrázkov a súborov v databáze DB |
Presadzuje SQL Injection | Zabraňuje SQL Injection |
Navrhované čítanie = >> Pripravené vyhlásenie a vyhlásenie JDBC
Otázka č. 11) Vysvetlite rozdiel medzi execute (), executeQuery () a executeUpdate ().
Odpoveď:
executeQuery () | executeUpdate () | Execute () |
---|---|---|
Používa sa na vykonávanie príkazov SQL, ktoré načítajú niektoré údaje z databázy DB | Používa sa na vykonávanie príkazov SQL, ktoré aktualizujú alebo upravujú údaje v databáze DB | Používa sa na vykonávanie ľubovoľného druhu príkazov SQL |
Vráti objekt resultSet | Vráti celočíselnú hodnotu, ktorá predstavuje číslo. dotknutých riadkov | Vráti boolovskú hodnotu TRUE - vráti objekt resultSet FALSE - vráti hodnotu int alebo nič |
Používa sa na vykonávanie iba príkazu SELECT | Používa sa na vykonanie iba non-SELECT dotazu | Používa sa na vykonávanie dotazov SELECT aj non-SELECT |
Otázka č. 12) Ako volať uložené procedúry v JDBC?
Odpoveď: Procedúry uložené pomocou SQL môžeme vykonať cez rozhranie CallableStatement. Objekt CallableStatement je možné vytvoriť pomocou metódy prepareCall () rozhrania Connection.
Otázka č. 13) Čo je to rozhranie ResultSet?
Odpoveď: Rozhranie ResultSet sa používa na ukladanie výstupných údajov po vykonaní dotazu SQL. Objekt ResultSet udržiava kurzorový bod na výsledných dátach. Ako predvolené nastavenie ukazuje kurzor na prvý riadok výsledných údajov. Môžeme prechádzať aj údajmi v objektoch výsledkovej sady.
otázky a odpovede na podporu technickej podpory
Syntax:
Rozhranie výpisu:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
Rozhranie PreparedStatement:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
Otázka č. 14) Aké sú typy ResultSet?
Odpoveď: V ResultSet sú 3 typy. Sú to:
java pohovor programy pre čerstvých pdf
- TYPE_FORWARD_ONLY: Je to predvolená možnosť. Kurzor sa bude pohybovať od začiatku do konca.
- TYPE_SCROLL_INSENSITIVE: U tohto typu sa kurzor bude pohybovať vpred aj vzad. Dátová sada obsahuje údaje, keď dotaz SQL vráti údaje.
- TYPE_SCROLL_SENSITIVE: Je to rovnaké ako TYPE_SCROLL_INSENSITIVE, rozdiel je v tom, že pri iterácii objektu s výsledkami bude mať aktualizované údaje.
Otázka č. 15) Aké sú režimy súbežnosti v ResultSet?
Odpoveď: V ResultSet sú 2 rôzne režimy súbežnosti. Oni sú:
- ResultSet.CONCUR_READ_ONLY : Je to predvolený režim súbežnosti. K dispozícii je možnosť iba na čítanie. Aktualizácia nie je možná.
- ResultSet.CONCUR_UPDATABLE: Aktualizácia je možná.
Otázka č. 16) Ako skontrolovať, či databáza podporuje režim súbežnosti?
Odpoveď: Máme metódu podporujeResultSetConcurrency (), pomocou ktorej skontrolujeme, či daný typ a režimy súbežnosti podporuje databáza alebo nie.
Otázka č. 17) Môžeme získať údaje konkrétneho riadku z množiny výsledkov?
Poznámka: ResultSet obsahuje údaje množiny riadkov
Odpoveď: Áno, údaje o konkrétnom riadku môžeme získať z resultSet pomocou metódy relative (). Posunie kurzor na daný riadok vpred alebo vzad od aktuálneho riadku. Ak bola daná kladná hodnota, bude sa pohybovať smerom dopredu. Ak bola zadaná záporná hodnota, bude sa pohybovať smerom dozadu.
Otázka 18) Aké je použitie metód getra a setra v ResultSete?
Odpoveď:
Getterove metódy: Používajú sa na získanie hodnôt konkrétneho stĺpca tabuľky z ResultSet. Ako parameter by sa mala zadať hodnota indexu stĺpca alebo názov stĺpca. Normálne budeme metódu getter predstavovať ako metódy getXXX ().
Príklad:
- int getInt (reťazec NázovSloupca): Používa sa na získanie hodnoty zadaného stĺpca Dátový typ Index a int ako návratový typ.
Nastavovacie metódy: Hodnotu v databáze môžeme nastaviť pomocou nastavovacích metód ResultSet. Je to podobné ako s getrovými metódami, ale tu musíme odovzdať hodnoty / údaje pre konkrétny stĺpec, ktoré sa majú vložiť do databázy, a hodnotu indexu alebo názov stĺpca tohto stĺpca. Normálne budeme metódu setter reprezentovať ako metódy setXXX ().
Príklad:
- void setInt (int Column_Index, int Data_Value): Používa sa na vloženie hodnoty zadaného stĺpca Index s hodnotou int.
Otázka č. 19) Aký je hlavný účel rozhrania ResultSetMetaData?
Odpoveď: Toto rozhranie poskytuje viac informácií o ResultSet. Každý objekt ResultSet bol priradený k jednému objektu ResultSetMetaData.
Tento objekt bude obsahovať podrobnosti o vlastnostiach stĺpcov, ako je dátový typ stĺpca, názov stĺpca, počet stĺpcov v tejto tabuľke, názov tabuľky, názov schémy atď., Na vytvorenie objektu sa použije metóda getMetaData () objektu ResultSet. Objekt ResultSetMetaData.
Syntax:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
Otázka 20) Čo je to DatabaseMetaData?
Odpoveď: Rozhranie DatabaseMetaData poskytuje informácie o databáze, ktorú používame. Získame nasledujúce informácie - DatabaseName, verzia databázy atď.
Otázka č. 21) Čo je vlastnosť KYSELINA?
Odpoveď:
- A – Atomicita -> Ak sa všetky dotazy úspešne vykonali, údaje budú potvrdené, inak nebudú potvrdené.
- C – Konzistencia -> Údaje by mali byť po každej transakcii konzistentné.
- I – izolácia -> Každá transakcia by mala byť izolovaná.
- D – Trvanlivosť -> Ak je transakcia vykonaná raz, mala by byť k dispozícii vždy (ak nedošlo k žiadnym zmenám)
Otázka č. 22) Ako zmeniť hodnotu režimu automatického potvrdenia?
Odpoveď: V predvolenom nastavení je hodnota AutoCommit TRUE. Po vykonaní príkazu SQL bude vykonaný automaticky. Pomocou metódy setAutoCommit () môžeme hodnotu zmeniť na AutoCommit.
Otázka č. 23) Aké je použitie metód Commit a Rollback?
Odpoveď:
Metóda Commit (): V Jave máme metódu commit () na potvrdenie údajov. Akonáhle je vykonanie SQL hotové, môžeme zavolať metódu commit.
Syntax: connectionobj.commit ();
Metóda rollback (): V Jave máme metódu rollback () na vrátenie údajov späť. Vrátenie prostriedkov znamená vrátiť zmeny späť. Ak niektorý z príkazov SQL zlyhá, môžeme vyvolať zmeny vrátením metódy rollback.
Syntax: connectionobj.rollback ();
Otázka č. 24) Čo je bod uloženia a aké sú metódy, ktoré máme v JDBC pre bod uloženia?
Odpoveď: Bod uloženia sa používa na vytvorenie kontrolných bodov v transakcii a umožňuje nám vykonať vrátenie konkrétneho bodu uloženia. Akonáhle je transakcia potvrdená alebo vrátená späť, úložný bod, ktorý bol pre transakciu vytvorený, sa automaticky zničí a stane sa neplatným.
Metódy pre bod uloženia:
- metóda setSavepoint (): Používa sa na vytvorenie bodu Savepoint, môžeme použiť metódu rollback () na vrátenie všetkých zmien až do bodu uloženia.
- metóda releaseSavepoint (): Používa sa na odstránenie daného bodu uloženia.
Otázka č. 25) Uveďte niektoré výnimky, ktoré spadajú pod SQLException?
Odpoveď:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Kliknite tu ďalšie informácie o vyššie uvedených výnimkách.
Otázka č. 26) Čo je dávkové spracovanie a ako to urobiť v JDBC?
Odpoveď: Dávkové spracovanie je proces vykonávania viacerých príkazov SQL v jednej transakcii. Ak to urobíte, zníži sa čas komunikácie a zvýši sa výkon. Veľmi uľahčuje spracovanie veľkého množstva údajov.
Výhody dávkového spracovania:
- Zlepšiť výkon
- Konzistencia údajov
Ako vykonať dávkové spracovanie:
Na vykonávanie dávkového spracovania máme v jazyku Java metódy addBatch () a executeBatch (). Tieto 2 metódy sú prítomné v triedach Statement a PreparedStatement.
Otázka č. 27) Čo je uložená procedúra?
Odpoveď: Skupina dotazov SQL, ktoré sa vykonávajú ako jedna jednotka na vykonanie konkrétnej úlohy, sa nazýva Uložená procedúra. Môžeme odovzdať 3 rôzne typy parametrov. Každý postup je reprezentovaný svojim názvom. Názov postupu by mal byť jedinečný.
>> Viac informácií o procedúre Uložené nájdete v tomto dokumente odkaz .
Otázka č. 28) Aké sú typy parametrov v uložených procedúrach?
Odpoveď: V ponuke Uložené procedúry sú k dispozícii tri typy parametrov. Oni sú:
- IN: Používa sa na odovzdanie vstupných hodnôt do postupu.
- VON: Používa sa na získanie hodnoty z postupu.
- DNU VON: Používa sa na odovzdanie vstupných hodnôt a získanie hodnoty do / z postupu.
Záver
Toto je niekoľko otázok z rozhovoru pre JDBC, ktoré pokrývajú základnú aj pokročilú úroveň. Dúfame, že vám tento výukový program poskytne prehľad o JDBC. Vyššie uvedené vysvetlenia obohatia vaše vedomosti a rozšíria vaše pochopenie JDBC. Všetko najlepšie!!!
Odporúčané čítanie
- Výukový program pre pripojenie Java JDBC s príkladom programovania
- Správa transakcií Java JDBC s príkladom
- Výukový program Java JDBC: Čo je JDBC (pripojenie k databáze Java)
- JDBC ResultSet: Ako používať Java ResultSet na načítanie údajov
- Dotazy a odpovede na pohovor
- 25 najlepších otázok a odpovedí na agilné testovacie pohovory
- ETL Testovacie otázky a odpovede na pohovor
- Top 25 Java Web Services Interview Otázky a odpovede