top 25 jdbc interview questions
Tento výukový program poskytuje často kladené otázky a odpovědi na pohovory JDBC s vysvětlením, které vám pomohou připravit se na rozhovor:
V Dávkové zpracování JDBC a uložená procedura návod na Série výukových programů JDBC , naučili jsme se metody dávkového zpracování v Javě pomocí ovladače JDBC a také jsme se naučili vytvářet uložené procedury a volat je z programu Java.
JDBC je běžně používaný krátký formulář pro připojení databáze Java. Pomocí JDBC můžeme komunikovat s různými typy relačních databází, jako jsou Oracle, MySQL, MS Access atd.
Tento článek vám pomůže rozbít rozhovor JDBC. Vysvětlili jsme zde všechny důležité koncepty JDBC.
Často kladené otázky ohledně rozhovorů s JDBC
Otázka č. 1) Co je JDBC?
Odpovědět: Připojení k databázi Java je neoficiálně známé jako JDBC. Používá se k provádění operací DB v databázi z aplikace Java. Podporuje interakci s jakýmkoli typem databáze, jako je Oracle, MySQL, MS Access atd.
Otázka 2) Jaké je použití ovladače JDBC?
Odpovědět: Jedná se o softwarovou součást a používá se k interakci aplikace Java s databází.
Otázka č. 3) Jaké jsou různé typy ovladačů v JDBC?
Odpovědět: Na trhu existují 4 různé ovladače JDBC.
Oni jsou:
- Typ I: JDBC - ODBC Bridge
- Typ II: Nativní API - poloviční ovladač Java
- Typ III: Síťový protokol - zcela ovladač Java
- Typ IV: Tenký ovladač - zcela ovladač Java
Typ I: Most JDBC-ODBC
Most JDBC-ODBC se bude chovat jako rozhraní mezi klientem a serverem DB. Klient by měl do něj vložit ovladač JDBC-ODBC. Databáze by měla podporovat ovladač ODBC. Pokud nám nejde o instalaci ovladače v klientském systému, použijeme tento ovladač.
Typ II: Nativní API: Poloviční ovladač Java
Je to skoro jako ovladač JDBC-ODBC. Spíše než ovladač ODBC zde používáme nativní API. Používají se knihovny databáze na straně klienta.
Typ III: Síťový protokol
Funguje to jako třístupňový přístup k přístupu do databáze. Pro připojení k DB bude použit zprostředkující server. Volání metody JDBC odesílají data na zprostředkující server, poté bude server komunikovat s DB.
Typ IV: Tenký ovladač
Je absolutně napsán v Javě. Explicitně převádí volání metod JDBC na databázový protokol specifický pro dodavatele. V současnosti poskytuje tento typ ovladače pro své zákazníky samotný obchodník s databázemi. Programátoři se tedy nespoléhají na jiné zdroje. Poskytuje vyšší výkon než ostatní ovladače.
Otázka č. 4) Jaký typ ovladače JDBC používá většina lidí?
Odpovědět: Tenký ovladač typu IV se používá ve většině aplikací. Je vyvinut samotným prodejcem databáze, takže jej vývojáři mohou používat přímo bez závislosti na jakýchkoli jiných zdrojích. Umožňuje jednoduchý a snadný vývoj. Poskytuje vyšší výkon než ostatní ovladače.
Otázka č. 5) Jaké jsou typy architektury JDBC?
Odpovědět: JDBC podporuje 2 druhy modelů zpracování pro přístup do databáze.
Oni jsou:
- Dvouvrstvá architektura: Zde se programy Java výslovně spojují s DB. Nepotřebujeme žádný spojovací server jako aplikační server pro připojení k DB kromě ovladače JDBC. Je také známá jako architektura klient-server.
- Třívrstvá architektura: Je to naprosto inverzní k dvoustupňové architektuře. Mezi ovladačem JDBC nebo programem Java a databází nebude explicitně komunikovat. Jako prostředník mezi nimi se používá aplikační server. Program Java odešle požadavek na aplikační server a server jej odešle a přijme odpověď do / z DB.
Otázka č. 6) Jaké jsou komponenty JDBC?
Odpovědět: V JDBC jsou k dispozici 4 hlavní komponenty.
Oni jsou:
- JDBC API
- Správce ovladačů JDBC
- JDBC Test Suite
- JDBC - ODBC Bridge
Otázka č. 7) Jaké jsou kroky pro připojení k JDBC?
Odpovědět: Existuje 6 základních kroků pro připojení k DB v Javě. Níže jsou uvedeny:
- Importovat balíček
- Načíst ovladač
- Navažte spojení
- Vytvoření a provedení výpisu
- Načíst výsledky
- Uzavřete spojení
Otázka č. 8) Které datové typy se používají k uložení obrázku a souboru v databázové tabulce?
Odpovědět:
- BLOB datový typ slouží k uložení obrazu v DB. Můžeme také ukládat videa a audio v datovém typu BLOB. Používá se k ukládání binárního typu dat.
- Datový typ CLOB slouží k uložení souboru v DB. Používá se k ukládání typu znaků dat.
Otázka č. 9) Co je DriverManager v JDBC?
Odpovědět: DriverManager je integrovaná třída, která je přítomna v balíčku java.sql. Bude použit jako prostředník mezi Java aplikací a DB, které připojujeme / používáme v našem kódu. Jako první krok musíme zaregistrovat nebo načíst ovladač pomocí DriverManageru. Poté bude ovladač k dispozici pro použití v aplikaci.
Hlavní funkcí DriverManageru je načíst třídu ovladačů z databáze a vytvořit spojení s DB.
Ovladač lze zaregistrovat nebo načíst dvěma způsoby:
- Class.forName ()
- DriverManager.registerDriver ()
Otázka č. 10) Jaký je rozdíl mezi rozhraními Statement a PreparedStatement.
Odpověď: Níže uvedená tabulka vysvětluje rozdíly:
TVRZENÍ | PŘIPRAVENÉ PROHLÁŠENÍ |
---|---|
Bude se používat hlavně pro provádění statických příkazů SQL | Bude se používat hlavně k provádění předkompilovaných příkazů SQL |
Za běhu nepřijme parametry | Přijme různé parametry za běhu |
Jeho výkon je ve srovnání s připraveným prohlášením nižší | Jeho výkon je vyšší než Statement, protože provádí předkompilované příkazy SQL |
Je vhodné provádět příkazy DDL, například CREATE, DROP, ALTER a TRUNCATE | Je vhodné provádět příkazy DML, například INSERT, UPDATE a DELETE |
Nelze jej použít k ukládání nebo načítání obrázků a souborů v DB | Může být použit pro ukládání nebo načítání obrázků a souborů v DB |
Vynucuje SQL Injection | Zabraňuje SQL Injection |
Doporučené čtení = >> Připravené prohlášení a prohlášení JDBC
Otázka č. 11) Vysvětlete rozdíl mezi execute (), executeQuery () a executeUpdate ().
Odpovědět:
executeQuery () | executeUpdate () | Vykonat() |
---|---|---|
Používá se k provádění příkazů SQL, které načítají některá data z databáze DB | Používá se k provádění příkazů SQL, které budou aktualizovat nebo upravovat data v DB | Používá se k provádění jakéhokoli druhu příkazů SQL |
Vrátí objekt resultSet | Vrací celočíselnou hodnotu, která představuje číslo. ovlivněných řádků | Vrátí logickou hodnotu TRUE - vrátí objekt resultSet FALSE - vrací hodnotu int nebo nic |
Používá se k provedení pouze SELECT dotazu | Používá se k provedení pouze dotazu, který není vybrán | Používá se k provádění dotazů SELECT i non-SELECT |
Otázka č. 12) Jak volat uložené procedury v JDBC?
Odpovědět: Můžeme spustit procedury uložené v SQL prostřednictvím rozhraní CallableStatement. Objekt CallableStatement lze vytvořit pomocí metody prepareCall () rozhraní Connection.
Otázka č. 13) Co je rozhraní ResultSet?
Odpovědět: Rozhraní ResultSet se používá k uložení výstupních dat po provedení dotazu SQL. Objekt ResultSet udržuje bod kurzoru na výsledných datech. Ve výchozím nastavení ukazuje kurzor před první řádek výsledkových dat. Můžeme také procházet data v objektech sady výsledků.
převést youtube na mp4 ve vysoké kvalitě
Syntax:
Prohlášení rozhraní:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
Rozhraní PreparedStatement:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
Otázka č. 14) Jaké jsou typy ResultSet?
Odpovědět: V ResultSet jsou 3 typy. Tyto jsou:
co je ověřování a ověřování při testování softwaru
- TYPE_FORWARD_ONLY: Je to výchozí možnost. Kurzor se bude pohybovat od začátku do konce.
- TYPE_SCROLL_INSENSITIVE: U tohoto typu se kurzor bude pohybovat vpřed i vzad. Datová sada obsahuje data, když dotaz SQL vrátí data.
- TYPE_SCROLL_SENSITIVE: Je to stejné jako TYPE_SCROLL_INSENSITIVE, rozdíl je v tom, že bude mít aktualizovaná data při iteraci objektu sady výsledků.
Otázka č. 15) Jaké jsou režimy souběžnosti v ResultSet?
Odpovědět: V ResultSet existují 2 různé režimy souběžnosti. Oni jsou:
- ResultSet.CONCUR_READ_ONLY : Je to výchozí režim souběžnosti. K dispozici je možnost jen pro čtení. Aktualizace není možná.
- ResultSet.CONCUR_UPDATABLE: Aktualizace je možná.
Otázka č. 16) Jak zkontrolovat, zda databáze podporuje režim souběžnosti?
Odpovědět: Máme metodu podporujeResultSetConcurrency (), která bude použita ke kontrole, zda daný typ a režimy souběžnosti jsou podporovány databází nebo ne.
Otázka č. 17) Můžeme získat data konkrétního řádku ze sady výsledků?
Poznámka: ResultSet obsahuje data sady řádků
Odpovědět: Ano, můžeme získat data konkrétního řádku z resultSet pomocí metody relative (). Přesune kurzor na daný řádek buď dopředu nebo dozadu od aktuálního řádku. Pokud byla zadána kladná hodnota, bude se pohybovat směrem dopředu. Pokud byla zadána záporná hodnota, bude se pohybovat směrem dozadu.
Otázka č. 18) Jaké je použití metod getter a setter v ResultSet?
Odpovědět:
Metody geteru: Ty se používají k načtení hodnot konkrétního sloupce tabulky z ResultSet. Jako parametr by měla být předána hodnota indexu sloupce nebo název sloupce. Normálně budeme metodu getter představovat jako metody getXXX ().
Příklad:
- int getInt (řetězec Název_sloupce): Používá se k načtení hodnoty zadaného sloupce Index a datový typ int jako návratový typ.
Metody seřizovače: Hodnotu v databázi můžeme nastavit pomocí metod setteru ResultSet. Je to podobné metodám getru, ale zde musíme předat hodnoty / data pro konkrétní sloupec, který se má vložit do databáze, a hodnotu indexu nebo název sloupce daného sloupce. Normálně budeme metodu setter reprezentovat jako metody setXXX ().
Příklad:
- void setInt (int Column_Index, int Data_Value): Používá se k vložení hodnoty zadaného sloupce Index s hodnotou int.
Otázka č. 19) Jaký je hlavní účel rozhraní ResultSetMetaData?
Odpovědět: Toto rozhraní poskytuje více informací o ResultSet. Každý objekt ResultSet byl přidružen k jednomu objektu ResultSetMetaData.
Tento objekt bude mít podrobnosti o vlastnostech sloupců, jako je datový typ sloupce, název sloupce, počet sloupců v této tabulce, název tabulky, název schématu atd., Metoda getMetaData () objektu ResultSet se používá k vytvoření ResultSetMetaData objekt.
Syntax:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
Otázka č. 20) Co je DatabaseMetaData?
Odpovědět: Rozhraní DatabaseMetaData poskytuje informace o databázi, kterou používáme. Dostaneme následující informace - DatabaseName, Database version a tak dále.
Otázka č. 21) Co je vlastnost ACID?
Odpovědět:
- A – Atomicita -> Pokud byly všechny dotazy úspěšně provedeny, budou data potvrzena, jinak nebudou potvrzena.
- C – Konzistence -> Data by měla být po jakékoli transakci konzistentní.
- I – Izolace -> Každá transakce by měla být izolována.
- D – Trvanlivost -> Pokud je transakce potvrzena jednou, měla by být k dispozici vždy (pokud nedošlo k žádným změnám)
Otázka č. 22) Jak změnit hodnotu režimu automatického potvrzení?
Odpovědět: Ve výchozím nastavení je hodnota AutoCommit TRUE. Po provedení příkazu SQL bude potvrzen automaticky. Pomocí metody setAutoCommit () můžeme změnit hodnotu na AutoCommit.
Otázka č. 23) Jaké je použití metod Commit a Rollback?
Odpovědět:
Metoda Commit (): Pro potvrzení dat máme v Javě metodu commit (). Po dokončení spuštění SQL můžeme zavolat metodu potvrzení.
Syntax: connectionobj.commit ();
Metoda rollback (): Pro vrácení dat máme v Javě metodu rollback (). Vrátit zpět znamená vrátit změny. Pokud některý z příkazů SQL selhal, můžeme zavolat metodu vrácení změn a vrátit změny.
Syntax: connectionobj.rollback ();
Otázka č. 24) Co je bod uložení a jaké jsou metody, které máme v JDBC pro bod uložení?
Odpovědět: Savepoint se používá k vytváření kontrolních bodů v transakci a umožňuje nám provést vrácení zpět ke konkrétnímu bodu uložení. Jakmile je transakce potvrzena nebo vrácena zpět, bude bod uložení, který byl vytvořen pro transakci, automaticky zničen a stane se neplatným.
Metody pro Savepoint:
- metoda setSavepoint (): Používá se k vytvoření bodu Savepoint, můžeme použít metodu rollback () k vrácení všech změn až do bodu uložení.
- metoda releaseSavepoint (): Slouží k odebrání daného bodu uložení.
Otázka č. 25) Seznam některých výjimek, které spadají pod SQLException?
Odpovědět:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Klikněte tady Další informace o výše uvedených výjimkách.
Otázka č. 26) Co je dávkové zpracování a jak na to v JDBC?
Odpovědět: Dávkové zpracování je proces provádění několika příkazů SQL v jedné transakci. Tímto způsobem snížíte čas komunikace a zvýšíte výkon. Díky tomu je zpracování velkého množství dat mnohem jednodušší.
Výhody dávkového zpracování:
- Zlepšit výkon
- Konzistence dat
Jak provést dávkové zpracování:
Pro provádění dávkového zpracování máme v Javě metody addBatch () a executeBatch (). Tyto 2 metody jsou přítomny ve třídách Statement a PreparedStatement.
Otázka č. 27) Co je uložená procedura?
Odpovědět: Skupina dotazů SQL, které jsou prováděny jako jedna jednotka k provedení konkrétního úkolu, se nazývá uložená procedura. Můžeme předat 3 různé typy parametrů. Každý postup je reprezentován svým názvem. Název postupu by tedy měl být jedinečný.
>> Další informace o uložené proceduře najdete zde odkaz .
Otázka č. 28) Jaké jsou typy parametrů v uložených procedurách?
Odpovědět: Uložené procedury jsou k dispozici tři typy parametrů. Oni jsou:
- V: Slouží k předání vstupních hodnot postupu.
- VEN: Slouží k získání hodnoty z postupu.
- DOVNITŘ VEN: Slouží k předání vstupních hodnot a získání hodnoty do / z procedury.
Závěr
Toto je několik otázek týkajících se rozhovorů s JDBC, které pokrývají základní i pokročilou úroveň. Doufáme, že vám tento výukový program poskytne přehled o JDBC. Výše uvedená vysvětlení obohatí vaše znalosti a rozšíří vaše porozumění JDBC. Vše nejlepší!!!
Doporučené čtení
- Výukový program pro připojení Java JDBC s příkladem programování
- Správa transakcí Java JDBC s příkladem
- Výukový program Java JDBC: Co je JDBC (Java Database Connectivity)
- JDBC ResultSet: Jak používat sadu Java ResultSet k načtení dat
- Dotazy a odpovědi na pohovor
- 25 nejlepších agilních testovacích otázek a odpovědí na rozhovor
- ETL Testing Interview Otázky a odpovědi
- Top 25 Java Web Services Interview Dotazy a odpovědi