top 25 jdbc interview questions
Dieses Tutorial enthält häufig gestellte Fragen und Antworten zu JDBC-Interviews sowie Erläuterungen zur Vorbereitung auf das Interview:
In dem JDBC-Stapelverarbeitung und gespeicherte Prozedur Tutorial der JDBC-Tutorialserie Wir lernten Methoden zur Stapelverarbeitung in Java mit dem JDBC-Treiber und lernten auch, gespeicherte Prozeduren zu erstellen und von einem Java-Programm aus aufzurufen.
JDBC ist die häufig verwendete Kurzform für Java Database Connectivity. Mithilfe von JDBC können wir mit verschiedenen Arten relationaler Datenbanken wie Oracle, MySQL, MS Access usw. interagieren.
Dieser Artikel wird Ihnen helfen, das JDBC-Interview zu knacken. Wir haben hier alle wichtigen JDBC-Konzepte erläutert.
Häufig gestellte Fragen zum JDBC-Interview
F # 1) Was ist JDBC?
Antworten: Java Database Connectivity ist inoffiziell als JDBC bekannt. Es wird verwendet, um DB-Operationen in einer Datenbank aus einer Java-Anwendung auszuführen. Es unterstützt die Interaktion mit jeder Art von Datenbank wie Oracle, MySQL, MS Access usw.
F # 2) Wozu dient der JDBC-Treiber?
Antworten: Es ist eine Softwarekomponente und wird verwendet, um die Java-Anwendung für die Interaktion mit der Datenbank zu veranlassen.
F # 3) Was sind die verschiedenen Arten von Treibern in JDBC?
Antworten: Es gibt 4 verschiedene JDBC-Treiber auf dem Markt.
Sie sind:
- Tippe I: JDBC - ODBC-Brücke
- Typ II: Native API - Halber Java-Treiber
- Typ III: Netzwerkprotokoll - Totally Java-Treiber
- Typ IV: Dünner Treiber - Total Java-Treiber
Typ I: JDBC-ODBC-Brücke
Die JDBC-ODBC-Brücke wird sich als Schnittstelle zwischen dem Client und dem DB-Server verhalten. Der Client sollte den JDBC-ODBC-Treiber darin ablegen. Die Datenbank sollte den ODBC-Treiber unterstützen. Wenn wir nicht über die Treiberinstallation im Client-System besorgt sind, werden wir diesen Treiber verwenden.
Typ II: Native API: Halber Java-Treiber
Es ist fast wie ein JDBC-ODBC-Treiber. Anstelle eines ODBC-Treibers verwenden wir hier die native API. Es werden Bibliotheken der clientseitigen Datenbank verwendet.
Typ III: Netzwerkprotokoll
Es funktioniert wie ein dreistufiger Ansatz, um auf die Datenbank zuzugreifen. Ein Zwischenserver wird verwendet, um eine Verbindung zur Datenbank herzustellen. JDBC-Methodenaufrufe senden Daten an einen Zwischenserver, dann kommuniziert der Server mit der Datenbank.
Typ IV: Dünner Treiber
Es ist absolut in Java geschrieben. JDBC-Methodenaufrufe werden explizit in das herstellerspezifische Datenbankprotokoll konvertiert. Heutzutage stellt der Datenbankhändler selbst seinen Kunden diese Art von Treiber zur Verfügung. Programmierer verlassen sich also nicht auf andere Quellen. Es bietet eine höhere Leistung als die anderen Treiber.
Q # 4) Welche Art von JDBC-Treiber wird von den meisten Menschen verwendet?
Antworten: Typ IV Thin Driver wird in den meisten Anwendungen verwendet. Es wird vom Datenbankanbieter selbst entwickelt, sodass die Entwickler es direkt verwenden können, ohne von anderen Quellen abhängig zu sein. Es ermöglicht eine einfache und unkomplizierte Entwicklung. Es bietet eine höhere Leistung als die anderen Treiber.
F # 5) Welche Arten von JDBC-Architektur gibt es?
Antworten: JDBC unterstützt zwei Arten von Verarbeitungsmodellen für den Zugriff auf die Datenbank.
Sie sind:
- Zweistufige Architektur: Hier verbinden sich Java-Programme explizit mit DB. Wir benötigen keinen Mediator wie den Anwendungsserver, um eine Verbindung mit der Datenbank herzustellen, außer dem JDBC-Treiber. Es wird auch als Client-Server-Architektur bezeichnet.
- Dreistufige Architektur: Es ist völlig umgekehrt zur zweistufigen Architektur. Es findet keine explizite Kommunikation zwischen dem JDBC-Treiber oder dem Java-Programm und der Datenbank statt. Ein Anwendungsserver wird als Vermittler zwischen ihnen verwendet. Das Java-Programm sendet die Anforderung an einen Anwendungsserver, und der Server sendet sie und empfängt die Antwort an die DB.
F # 6) Was sind die Komponenten von JDBC?
Antworten: Es gibt 4 Hauptkomponenten, die in JDBC verfügbar sind.
Sie sind:
- JDBC-API
- JDBC-Treiber-Manager
- JDBC Test Suite
- JDBC - ODBC-Brücke
F # 7) Was sind die Schritte, um eine Verbindung mit JDBC herzustellen?
Antworten: Es gibt 6 grundlegende Schritte, um eine Verbindung mit DB in Java herzustellen. Diese sind unten aufgeführt:
- Paket importieren
- Lasttreiber
- Verbindung herstellen
- Erstellung und Ausführung der Anweisung
- Ergebnisse abrufen
- Verbindung schließen
F # 8) Mit welchen Datentypen werden das Bild und die Datei in der Datenbanktabelle gespeichert?
Antworten:
- BLOB-Datentyp wird verwendet, um das Bild in der Datenbank zu speichern. Wir können Videos und Audios auch im BLOB-Datentyp speichern. Es wird verwendet, um den binären Datentyp zu speichern.
- CLOB-Datentyp wird verwendet, um die Datei in der Datenbank zu speichern. Es wird verwendet, um den Zeichentyp von Daten zu speichern.
F # 9) Was ist DriverManager in JDBC?
Antworten: DriverManager ist eine integrierte Klasse, die im Paket java.sql enthalten ist. Es wird als Vermittler zwischen der Java-Anwendung und der Datenbank verwendet, die wir in unserem Code verbinden / verwenden. In einem ersten Schritt müssen wir den Treiber bei DriverManager registrieren oder laden. Dann steht der Treiber zur Verwendung in der Anwendung zur Verfügung.
Die Hauptfunktion von DriverManager besteht darin, die Treiberklasse der Datenbank zu laden und eine Verbindung mit der Datenbank herzustellen.
Es gibt zwei Möglichkeiten, den Treiber zu registrieren oder zu laden:
- Class.forName ()
- DriverManager.registerDriver ()
F # 10) Was ist der Unterschied zwischen den Schnittstellen Statement und PreparedStatement?
Antwort: In der folgenden Tabelle werden die Unterschiede erläutert:
ERKLÄRUNG | VORBEREITETE ERKLÄRUNG |
---|---|
Es wird hauptsächlich zum Ausführen statischer SQL-Anweisungen verwendet | Es wird hauptsächlich zum Ausführen vorkompilierter SQL-Anweisungen verwendet |
Zur Laufzeit werden keine Parameter akzeptiert | Zur Laufzeit werden unterschiedliche Parameter akzeptiert |
Die Leistung ist im Vergleich zu prepareStatement geringer | Die Leistung ist höher als die von Statement, da die vorkompilierten SQL-Anweisungen ausgeführt werden |
Es eignet sich zum Ausführen von DDL-Anweisungen wie CREATE, DROP, ALTER und TRUNCATE | Es ist für die Ausführung von DML-Anweisungen wie INSERT, UPDATE und DELETE geeignet |
Es kann nicht zum Speichern oder Abrufen von Bildern und Dateien in der Datenbank verwendet werden | Es kann zum Speichern oder Abrufen von Bildern und Dateien in der Datenbank verwendet werden |
Es erzwingt SQL Injection | Es verhindert SQL Injection |
Empfohlene Lektüre = >> JDBC PreparedStatement und Anweisung
Q # 11) Erklären Sie den Unterschied zwischen execute (), executeQuery () und executeUpdate ().
Antworten:
executeQuery () | executeUpdate () | Ausführen() |
---|---|---|
Es wird verwendet, um die SQL-Anweisungen auszuführen, die einige Daten aus der Datenbank abrufen | Es wird verwendet, um die SQL-Anweisungen auszuführen, mit denen die Daten in der Datenbank aktualisiert oder geändert werden | Es wird verwendet, um jede Art von SQL-Anweisungen auszuführen |
Es gibt das resultSet-Objekt zurück | Es wird ein ganzzahliger Wert zurückgegeben, der die Nr. Darstellt. der betroffenen Zeilen | Es gibt einen Booleschen Wert zurück TRUE - gibt ein resultSet-Objekt zurück FALSE - gibt einen int-Wert oder nichts zurück |
Es wird verwendet, um nur die SELECT-Abfrage auszuführen | Es wird verwendet, um nur eine Nicht-SELECT-Abfrage auszuführen | Es wird verwendet, um sowohl SELECT- als auch Nicht-SELECT-Abfragen auszuführen |
F # 12) Wie rufe ich gespeicherte Prozeduren in JDBC auf?
Antworten: Wir können die gespeicherten SQL-Prozeduren über die CallableStatement-Schnittstelle ausführen. Das CallableStatement-Objekt kann mit der prepareCall () -Methode der Verbindungsschnittstelle erstellt werden.
Q # 13) Was ist die ResultSet-Schnittstelle?
Antworten: Die ResultSet-Schnittstelle wird zum Speichern der Ausgabedaten nach der Ausführung der SQL-Abfrage verwendet. Das Objekt von ResultSet behält den Cursorpunkt auf den Ergebnisdaten bei. Standardmäßig zeigt der Cursor vor die erste Zeile der Ergebnisdaten. Wir können die Daten auch in den Ergebnismengenobjekten durchlaufen.
Fragen und Antworten zum Testen von Webanwendungen
Syntax:
Anweisungsschnittstelle:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
PreparedStatement-Schnittstelle:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
F # 14) Welche Arten von ResultSet gibt es?
Antworten: Es gibt 3 Typen in ResultSet. Diese sind:
DVD Rip and Burn Software kostenlos
- TYPE_FORWARD_ONLY: Dies ist die Standardoption. Der Cursor bewegt sich von Anfang bis Ende.
- TYPE_SCROLL_INSENSITIVE: Bei diesem Typ bewegt sich der Cursor sowohl vorwärts als auch rückwärts. Der Datensatz enthält die Daten, wenn die SQL-Abfrage die Daten zurückgibt.
- TYPE_SCROLL_SENSITIVE: Es ist dasselbe wie TYPE_SCROLL_INSENSITIVE. Der Unterschied besteht darin, dass die aktualisierten Daten beim Iterieren des Ergebnismengenobjekts vorhanden sind.
F # 15) Was sind die Parallelitätsmodi in ResultSet?
Antworten: In ResultSet gibt es zwei verschiedene Modi der Parallelität. Sie sind:
- ResultSet.CONCUR_READ_ONLY : Dies ist der Standard-Parallelitätsmodus. Eine schreibgeschützte Option ist verfügbar. Eine Aktualisierung ist nicht möglich.
- ResultSet.CONCUR_UPDATABLE: Aktualisierung ist möglich.
F # 16) Wie kann ich überprüfen, ob die Datenbank den Parallelitätsmodus unterstützt?
Antworten: Wir haben die Methode supportResultSetConcurrency (), mit der überprüft wird, ob der angegebene Typ und die Parallelitätsmodi von der Datenbank unterstützt werden oder nicht.
Q # 17) Können wir die Daten der jeweiligen Zeile aus der Ergebnismenge abrufen?
Hinweis: ResultSet enthält die Daten einer Reihe von Zeilen
Antworten: Ja, wir können die Daten der jeweiligen Zeile mit der relative () -Methode aus der Ergebnismenge abrufen. Der Cursor bewegt sich von der aktuellen Zeile entweder vorwärts oder rückwärts zur angegebenen Zeile. Wenn der positive Wert angegeben wurde, bewegt er sich in Vorwärtsrichtung. Wenn der negative Wert angegeben wurde, bewegt er sich rückwärts.
F # 18) Wozu dienen die Getter- und Setter-Methoden in ResultSet?
Antworten:
Getter Methoden: Diese werden verwendet, um die Werte der jeweiligen Spalte der Tabelle aus ResultSet abzurufen. Als Parameter sollte entweder der Spaltenindexwert oder der Spaltenname übergeben werden. Normalerweise werden wir die Getter-Methode als getXXX () -Methoden darstellen.
Beispiel:
- int getInt (Zeichenfolge Column_Name): Es wird verwendet, um den Wert der angegebenen Spalte Index und des int-Datentyps als Rückgabetyp abzurufen.
Setter-Methoden: Wir können den Wert in der Datenbank mit den ResultSet-Setter-Methoden festlegen. Es ähnelt Getter-Methoden, aber hier müssen wir die Werte / Daten für die bestimmte Spalte übergeben, die in die Datenbank eingefügt werden sollen, sowie den Indexwert oder den Spaltennamen dieser Spalte. Normalerweise werden wir die Setter-Methode als setXXX () -Methoden darstellen.
Beispiel:
- void setInt (int Column_Index, int Data_Value): Es wird verwendet, um den Wert der angegebenen Spalte Index mit einem int-Wert einzufügen.
F # 19) Was ist der Hauptzweck der ResultSetMetaData-Schnittstelle?
Antworten: Diese Schnittstelle bietet weitere Informationen zu ResultSet. Jedes ResultSet-Objekt wurde einem ResultSetMetaData-Objekt zugeordnet.
Dieses Objekt enthält die Details der Eigenschaften der Spalten wie Datentyp der Spalte, Spaltenname, Anzahl der Spalten in dieser Tabelle, Tabellenname, Schemaname usw. Die Methode getMetaData () des ResultSet-Objekts wird zum Erstellen des Objekts verwendet ResultSetMetaData-Objekt.
Syntax:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
F # 20) Was ist DatabaseMetaData?
Antworten: Die DatabaseMetaData-Schnittstelle enthält Informationen zu der von uns verwendeten Datenbank. Wir erhalten die folgenden Informationen - Datenbankname, Datenbankversion usw.
F # 21) Was ist ACID-Eigenschaft?
Antworten:
- A - Atomizität -> Wenn alle Abfragen erfolgreich ausgeführt wurden, werden die Daten festgeschrieben, andernfalls wird sie nicht festgeschrieben.
- C - Konsistenz -> Die Daten sollten nach jeder Transaktion konsistent sein.
- I - Isolation -> Jede Transaktion sollte isoliert sein.
- D - Haltbarkeit -> Wenn die Transaktion einmal festgeschrieben wird, sollte sie immer verfügbar sein (wenn keine Änderungen vorgenommen wurden).
F # 22) Wie ändere ich den Wert für den Auto-Commit-Modus?
Antworten: Standardmäßig ist der Wert von AutoCommit TRUE. Nach der Ausführung der SQL-Anweisung wird sie automatisch festgeschrieben. Mit der Methode setAutoCommit () können wir den Wert in AutoCommit ändern.
F # 23) Wozu dienen Commit- und Rollback-Methoden?
Antworten:
Commit () -Methode: Wir haben die Methode commit () in Java, um die Daten festzuschreiben. Sobald die SQL-Ausführung abgeschlossen ist, können wir die Commit-Methode aufrufen.
Syntax: connectionobj.commit ();
Rollback () -Methode: Wir haben die rollback () -Methode in Java, um die Daten zurückzusetzen. Rollback bedeutet, die Änderungen rückgängig zu machen. Wenn eine der SQL-Anweisungen fehlschlägt, können wir die Rollback-Methode aufrufen, um die Änderungen rückgängig zu machen.
Syntax: connectionobj.rollback ();
F # 24) Was ist Savepoint und welche Methoden haben wir in JDBC für Savepoint?
Antworten: Der Sicherungspunkt wird zum Erstellen von Prüfpunkten in einer Transaktion verwendet und ermöglicht es uns, ein Rollback auf den bestimmten Sicherungspunkt durchzuführen. Sobald die Transaktion festgeschrieben oder zurückgesetzt wurde, wird der für eine Transaktion erstellte Sicherungspunkt automatisch zerstört und ungültig.
Methoden für Savepoint:
- setSavepoint () -Methode: Es wird zum Erstellen von Savepoint verwendet. Mit der rollback () -Methode können Sie alle Änderungen bis zum Savepoint rückgängig machen.
- releaseSavepoint () -Methode: Es wird verwendet, um den angegebenen Sicherungspunkt zu entfernen.
F # 25) Einige Ausnahmen auflisten, die unter SQLException fallen?
Antworten:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Klicken Sie auf Hier Weitere Informationen zu den oben genannten Ausnahmen.
F # 26) Was ist Stapelverarbeitung und wie geht das in JDBC?
Antworten: Bei der Stapelverarbeitung werden mehrere SQL-Anweisungen in einer Transaktion ausgeführt. Dadurch wird die Kommunikationszeit verkürzt und die Leistung gesteigert. Dies erleichtert die Verarbeitung großer Datenmengen erheblich.
Vorteile der Stapelverarbeitung:
- Leistung verbessern
- Datenkonsistenz
So führen Sie die Stapelverarbeitung durch:
Wir haben die Methoden addBatch () und executeBatch () in Java, um die Stapelverarbeitung durchzuführen. Diese beiden Methoden sind in den Klassen Statement und PreparedStatement vorhanden.
F # 27) Was ist die gespeicherte Prozedur?
Antworten: Eine Gruppe von SQL-Abfragen, die als einzelne Einheit ausgeführt werden, um eine bestimmte Aufgabe auszuführen, wird als gespeicherte Prozedur bezeichnet. Wir können 3 verschiedene Arten von Parametern übergeben. Jede Prozedur wird durch ihren Namen dargestellt. Der Name der Prozedur sollte also eindeutig sein.
>> Weitere Informationen zur gespeicherten Prozedur finden Sie hier Verknüpfung .
F # 28) Was sind die Parametertypen in gespeicherten Prozeduren?
Antworten: In gespeicherten Prozeduren stehen drei Arten von Parametern zur Verfügung. Sie sind:
- IM: Wird verwendet, um die Eingabewerte an die Prozedur zu übergeben.
- AUS: Wird verwendet, um den Wert aus der Prozedur abzurufen.
- IN / OUT: Dient zum Übergeben der Eingabewerte und zum Abrufen des Werts zur / von der Prozedur.
Fazit
Dies sind einige JDBC-Interviewfragen, die sowohl die Grund- als auch die Fortgeschrittenenstufe abdecken. Wir hoffen, dass dieses Tutorial Ihnen einen Überblick über JDBC gibt. Die oben gegebenen Erklärungen werden Ihr Wissen bereichern und Ihr Verständnis von JDBC verbessern. Alles Gute!!!
Literatur-Empfehlungen
- Java JDBC-Verbindungs-Tutorial mit Programmierbeispiel
- Java JDBC Transaction Management mit Beispiel
- Java JDBC Tutorial: Was ist JDBC (Java Database Connectivity)
- JDBC ResultSet: Verwendung von Java ResultSet zum Abrufen von Daten
- Interview Fragen und Antworten
- 25 Fragen und Antworten zu den besten Agile Testing-Interviews
- Fragen und Antworten zum ETL-Testinterview
- Top 25 Fragen und Antworten zum Java Web Services-Interview