top 25 jdbc interview questions
Acest tutorial oferă întrebări și răspunsuri la întrebările frecvente ale JDBC și explicații pentru a vă ajuta să vă pregătiți pentru interviu:
În Procesarea lotului JDBC și procedura stocată tutorial de Seria de tutoriale JDBC , am învățat metode pentru a face procesarea batch în Java folosind driverul JDBC și, de asemenea, am învățat să creăm proceduri stocate și să o apelăm dintr-un program Java.
JDBC este formularul scurt utilizat în mod obișnuit pentru conectivitatea bazei de date Java. Prin utilizarea JDBC, putem interacționa cu diferite tipuri de baze de date relaționale, cum ar fi Oracle, MySQL, MS Access etc.
Acest articol vă va ajuta să spargeți interviul JDBC. Am explicat aici toate conceptele importante JDBC.
Întrebări frecvente despre interviu JDBC
Q # 1) Ce este JDBC?
Răspuns: Conectivitatea bazei de date Java este cunoscută neoficial sub numele de JDBC. Este folosit pentru a efectua operațiuni DB în baza de date din aplicația Java. Acceptă interacțiunea cu orice tip de DB cum ar fi Oracle, MySQL, MS Access etc.
Q # 2) La ce folosește driverul JDBC?
Răspuns: Este o componentă software și este utilizată pentru a face aplicația Java să interacționeze cu baza de date.
Î # 3) Care sunt diferitele tipuri de drivere din JDBC?
Răspuns: Există 4 drivere JDBC diferite pe piață.
Sunt:
- Tipul I: JDBC - Podul ODBC
- Tipul II: Native API - Half Java Driver
- Tipul III: Protocol de rețea - Driver în totalitate Java
- Tipul IV: Driver subțire - Driver total Java
Tipul I: Podul JDBC-ODBC
Podul JDBC-ODBC se va comporta ca o interfață între client și serverul DB. Clientul ar trebui să introducă driverul JDBC-ODBC în el. Baza de date ar trebui să accepte driverul ODBC. Dacă nu ne preocupă instalarea driverului în sistemul client, vom folosi acest driver.
Tipul II: API nativ: jumătate de driver Java
Este aproape ca un driver JDBC-ODBC. Mai degrabă decât un driver ODBC, folosim API nativ aici. Se utilizează biblioteci ale bazei de date a clientului.
Tipul III: Protocol de rețea
Funcționează ca o abordare pe 3 niveluri pentru a accesa baza de date. Un server intermediar va fi utilizat pentru a vă conecta la DB. Apelurile din metoda JDBC trimit date către un server intermediar, apoi serverul va comunica cu DB.
Tipul IV: Driver subțire
Este scris absolut în Java. Convertește în mod explicit apelurile de metodă JDBC în protocolul bazei de date specific furnizorului. În zilele noastre, comerciantul cu baze de date în sine furnizează clienților acest tip de driver. Așadar, programatorii nu se bazează pe alte surse. Oferă performanțe mai mari decât ceilalți șoferi.
Q # 4) Ce tip de driver JDBC este utilizat de majoritatea oamenilor?
Răspuns: Driverul subțire de tip IV este utilizat în majoritatea aplicațiilor. Este dezvoltat chiar de către furnizorul bazei de date, astfel încât dezvoltatorii îl pot folosi direct fără a depinde de alte surse. Permite o dezvoltare simplă și ușoară. Oferă performanțe mai mari decât ceilalți șoferi.
Q # 5) Care sunt tipurile de arhitectură JDBC?
Răspuns: JDBC acceptă 2 tipuri de modele de procesare pentru a accesa DB.
Sunt:
- Arhitectură pe două niveluri: Aici programele Java se conectează în mod explicit cu DB. Nu avem nevoie de niciun mediator precum serverul de aplicații pentru a ne conecta la DB, cu excepția driverului JDBC. Este, de asemenea, cunoscut sub numele de arhitectură client-server.
- Arhitectură pe trei niveluri: Este total inversă arhitecturii pe două niveluri. Nu va exista nicio comunicare explicită între driverul JDBC sau programul Java și baza de date. Un server de aplicații este folosit ca mediator între ele. Programul Java va trimite cererea către un server de aplicații, iar serverul o va trimite și va primi răspunsul către / de la DB.
Q # 6) Care sunt componentele JDBC?
Răspuns: Există 4 componente majore disponibile în JDBC.
Sunt:
- API JDBC
- Manager driver JDBC
- JDBC Test Suite
- JDBC - Podul ODBC
Q # 7) Care sunt pașii pentru conectarea cu JDBC?
Răspuns: Există 6 pași de bază pentru conectarea cu DB în Java. Acestea sunt enumerate mai jos:
- Import pachet
- Încărcați șoferul
- Stabiliți conexiunea
- Crearea și executarea declarației
- Obțineți rezultate
- Închideți conexiunea
Q # 8) Ce tipuri de date sunt utilizate pentru a stoca imaginea și fișierul în tabelul bazei de date?
Răspuns:
- Tipul de date BLOB este folosit pentru a stoca imaginea în DB. Putem stoca videoclipuri și audio și în tipul de date BLOB. Este folosit pentru a stoca tipul binar de date.
- Tipul de date CLOB este folosit pentru a stoca fișierul în DB. Este folosit pentru a stoca tipul de caractere al datelor.
Q # 9) Ce este DriverManager în JDBC?
Răspuns: DriverManager este o clasă încorporată care este prezentă în pachetul java.sql. Acesta va fi folosit ca mediator între aplicația Java și DB, pe care îl conectăm / folosim în codul nostru. Ca prim pas, trebuie să înregistrăm sau să încărcăm driverul cu DriverManager. Apoi, driverul va fi disponibil pentru utilizare în aplicație.
Funcția principală a DriverManager este de a încărca clasa de driver din baza de date și de a crea o conexiune cu DB.
Există 2 moduri de a înregistra sau încărca driverul:
- Class.forName ()
- DriverManager.registerDriver ()
Q # 10) Care este diferența dintre interfața Statement și PreparedStatement.
Răspuns: Tabelul de mai jos explică diferențele:
AFIRMAȚIE | DECLARAȚIE PREGĂTITĂ |
---|---|
Acesta va fi utilizat în principal pentru executarea instrucțiunilor SQL statice | Acesta va fi utilizat în principal pentru executarea instrucțiunilor SQL precompilate |
Nu va accepta parametrii în timpul rulării | Acesta va accepta parametri diferiți în timpul rulării |
Performanța sa este mai mică în comparație cu pregătirea Statement | Performanța sa este mai mare decât Instrucțiunea, deoarece execută instrucțiunile SQL precompilate |
Este adecvat pentru executarea instrucțiunilor DDL, cum ar fi CREATE, DROP, ALTER și TRUNCATE | Este adecvat pentru executarea instrucțiunilor DML, cum ar fi INSERT, UPDATE și DELETE |
Nu poate fi utilizat pentru stocarea sau recuperarea imaginii și fișierelor în DB | Poate fi folosit pentru stocarea sau recuperarea imaginilor și fișierelor în DB |
Aplică SQL Injection | Previne injectarea SQL |
Citire sugerată = >> Declarație și declarație pregătite JDBC
Q # 11) Explicați diferența dintre execute (), executeQuery () și executeUpdate ().
Răspuns:
executeQuery () | executeUpdate () | A executa() |
---|---|---|
Este folosit pentru a executa instrucțiunile SQL care extrag unele date din DB | Este folosit pentru a executa instrucțiunile SQL care vor actualiza sau modifica datele din DB | Este folosit pentru a executa orice fel de instrucțiuni SQL |
Returnează obiectul resultSet | Returnează o valoare întreagă care reprezintă nr. a rândurilor afectate | Returnează o valoare booleană TRUE - returnează un obiect resultSet FALS - returnează o valoare int sau nimic |
Este folosit pentru a executa numai interogarea SELECT | Este folosit pentru a executa numai o interogare non-SELECT | Este folosit pentru a executa atât interogări SELECT, cât și interogări non-SELECT |
Q # 12) Cum se apelează proceduri stocate în JDBC?
Răspuns: Putem executa procedurile SQL Stored prin interfața CallableStatement. Obiectul CallableStatement poate fi creat folosind metoda prepareCall () a interfeței Connection.
Q # 13) Ce este interfața ResultSet?
Răspuns: Interfața ResultSet este utilizată pentru a stoca datele de ieșire după executarea interogării SQL. Obiectul ResultSet menține punctul de cursor la datele rezultate. În mod implicit, cursorul indică înainte de primul rând al datelor rezultate. Putem traversa datele și în obiectele setului de rezultate.
cum se deschide un proiect nou în eclipsă
Sintaxă:
Interfață declarație:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
Interfață de declarație pregătită:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
Q # 14) Care sunt tipurile de ResultSet?
Răspuns: Există 3 tipuri în ResultSet. Acestea sunt:
întrebări și răspunsuri la interviuri oracle pl sql pentru pdf cu experiență
- TYPE_FORWARD_ONLY: Este opțiunea implicită. Cursorul se va deplasa de la început la sfârșit.
- TYPE_SCROLL_INSENSITIVE: În acest tip, cursorul se va deplasa atât în direcția înainte, cât și înapoi. Dataset are datele atunci când interogarea SQL returnează datele.
- TYPE_SCROLL_SENSITIVE: Este la fel ca TYPE_SCROLL_INSENSITIVE, diferența este că va avea datele actualizate în timp ce iterează obiectul setului de rezultate.
Q # 15) Care sunt modurile de concurență în ResultSet?
Răspuns: Există 2 moduri diferite de concurență în ResultSet. Sunt:
- ResultSet.CONCUR_READ_ONLY : Este modul implicit de concurență. Este disponibilă o opțiune de numai citire. Actualizarea nu este posibilă.
- ResultSet.CONCUR_UPDATABLE: Actualizarea este posibilă.
Q # 16) Cum se verifică dacă baza de date acceptă modul concurenței?
Răspuns: Avem metoda supportsResultSetConcurrency () care va fi utilizată pentru a verifica dacă tipul dat și modurile de concurență sunt acceptate sau nu de baza de date.
Q # 17) Putem obține datele anumitor rânduri din setul de rezultate?
Notă: ResultSet are datele unui set de rânduri
Răspuns: Da, putem obține datele anumitor rânduri din resultSet folosind metoda relative (). Acesta va muta cursorul pe rândul dat, fie într-o direcție înainte, fie înapoi față de rândul curent. Dacă s-a dat valoarea pozitivă, aceasta se va deplasa în direcția înainte. Dacă a fost dată valoarea negativă, aceasta se va deplasa în direcția inversă.
Q # 18) La ce folosește metodele getter și setter în ResultSet?
Răspuns:
Metode Getter: Acestea sunt folosite pentru a extrage valorile coloanei particulare a tabelului din ResultSet. Valoarea Indexului coloanei sau Numele coloanei ar trebui să fie transmise ca parametru. În mod normal, vom reprezenta metoda getter ca metode getXXX ().
Exemplu:
- int getInt (șir Column_Name): Este folosit pentru a recupera valoarea coloanei specificate Index și tipul de date int ca tip de returnare.
Metode Setter: Putem seta valoarea în baza de date folosind metodele ResultSet setter. Este similar cu metodele getter, dar aici trebuie să trecem valorile / datele pentru coloana respectivă pentru a le insera în baza de date și valoarea indexului sau numele coloanei acelei coloane. În mod normal, vom reprezenta metoda setter ca metode setXXX ().
Exemplu:
- void setInt (int Column_Index, int Data_Value): Se folosește pentru a insera valoarea coloanei specificate Index cu o valoare int.
Q # 19) Care este scopul principal al interfeței ResultSetMetaData?
Răspuns: Această interfață oferă mai multe informații despre ResultSet. Fiecare obiect ResultSet a fost asociat cu un obiect ResultSetMetaData.
Acest obiect va avea detaliile proprietăților coloanelor, cum ar fi tipul de date al coloanei, numele coloanei, numărul de coloane din acel tabel, numele tabelului, numele schemei etc., metoda getMetaData () a obiectului ResultSet este utilizată pentru a crea Obiectul ResultSetMetaData.
Sintaxă:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
Q # 20) Ce este DatabaseMetaData?
Răspuns: Interfața DatabaseMetaData oferă informații despre baza de date pe care o folosim. Vom primi următoarele informații - DatabaseName, versiunea bazei de date și așa mai departe.
Q # 21) Ce este proprietatea ACID?
Răspuns:
- A – Atomicitate -> Dacă toate interogările s-au executat cu succes, atunci datele vor fi angajate altfel nu vor fi angajate.
- C – Coerență -> Datele ar trebui să fie consecvente după orice tranzacție.
- I – Izolare -> Fiecare tranzacție trebuie izolată.
- D – Durabilitate -> Dacă tranzacția este angajată o singură dată, aceasta ar trebui să fie disponibilă întotdeauna (dacă nu s-au produs modificări)
Q # 22) Cum se modifică valoarea modului de confirmare automată?
Răspuns: În mod implicit, valoarea AutoCommit este TRUE. După executarea instrucțiunii SQL, aceasta va fi angajată automat. Folosind metoda setAutoCommit (), putem schimba valoarea la AutoCommit.
Q # 23) La ce folosește metodele Commit și Rollback?
Răspuns:
Metoda Commit (): Avem metoda commit () în Java pentru a trimite datele. Odată ce executarea SQL este terminată, putem apela metoda commit.
Sintaxă: connectionobj.commit ();
Metoda Rollback (): Avem metoda rollback () în Java pentru a reda datele. Revenirea înseamnă a anula modificările. Dacă oricare dintre instrucțiunile SQL eșuează, putem apela metoda de revenire pentru a anula modificările.
Sintaxă: connectionobj.rollback ();
Q # 24) Ce este savepoint și care sunt metodele pe care le avem în JDBC pentru savepoint?
Răspuns: Savepoint este utilizat pentru a crea puncte de control într-o tranzacție și ne permite să efectuăm o revenire la punctul de salvare specific. Odată ce tranzacția este angajată sau rulată înapoi, punctul de salvare care a fost creat pentru o tranzacție va fi distrus automat și va deveni invalid.
Metode pentru Savepoint:
- metoda setSavepoint (): Este folosit pentru a crea Savepoint, putem folosi metoda rollback () pentru a anula toate modificările până la punctul de salvare.
- releaseSavepoint () metoda: Este folosit pentru a elimina punctul de salvare dat.
Q # 25) Enumerați câteva excepții care intră sub SQLException?
Răspuns:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Faceți clic pe Aici pentru mai multe informații despre excepțiile de mai sus.
Q # 26) Ce este procesarea în serie și cum se face în JDBC?
Răspuns: Procesarea în lot este procesul de executare a mai multor instrucțiuni SQL într-o singură tranzacție. Acest lucru va reduce timpul de comunicare și va crește performanța. Face procesarea unei cantități mari de date mult mai ușoară.
Avantajele procesării în lot:
- Îmbunătățiți performanța
- Coerența datelor
Cum se efectuează procesarea în lot:
Avem metode addBatch () și executeBatch () în Java pentru a efectua procesarea Batch. Aceste 2 metode sunt prezente în clasele Statement și PreparedStatement.
Q # 27) Care este procedura stocată?
Răspuns: Un grup de interogări SQL care sunt executate ca o singură unitate pentru a efectua o anumită sarcină este cunoscut sub numele de procedură stocată. Putem trece 3 tipuri diferite de parametri. Fiecare procedură este reprezentată de numele său. Deci, numele procedurii ar trebui să fie unic.
>> Pentru mai multe informații despre procedura stocată, consultați acest lucru legătură .
Q # 28) Care sunt tipurile de parametri din procedurile stocate?
Răspuns: Există trei tipuri de parametri disponibili în procedurile stocate. Sunt:
- ÎN: Folosit pentru a transmite valorile de intrare procedurii.
- OUT: Folosit pentru a obține valoarea din procedură.
- ÎN AFARĂ: Folosit pentru a trece valorile de intrare și pentru a obține valoarea către / din procedură.
Concluzie
Acestea sunt câteva întrebări ale interviului JDBC care acoperă atât nivelurile de bază, cât și nivelurile avansate. Sperăm că acest tutorial vă va oferi o imagine de ansamblu asupra JDBC. Explicațiile oferite mai sus vă vor îmbogăți cunoștințele și vă vor crește înțelegerea despre JDBC. Toate cele bune!!!
Lectură recomandată
- Tutorial de conexiune Java JDBC cu exemplu de programare
- Gestionarea tranzacțiilor Java JDBC cu exemplu
- Tutorial Java JDBC: Ce este JDBC (Java Database Connectivity)
- JDBC ResultSet: Cum se utilizează Java ResultSet pentru a prelua date
- Întrebări și răspunsuri la interviu
- Cele mai bune 25 de întrebări și răspunsuri de interviu pentru testarea agilă
- Întrebări și răspunsuri la interviuri de testare ETL
- Top 25 Java Web Services Interviu Întrebări și răspunsuri