top 25 jdbc interview questions
Deze tutorial biedt veelgestelde JDBC-interviewvragen en antwoorden met uitleg om je voor te bereiden op het interview:
In de JDBC-batchverwerking en opgeslagen procedure tutorial van de JDBC-tutorialserie hebben we methoden geleerd om batchverwerking in Java uit te voeren met behulp van de JDBC-driver en ook geleerd om opgeslagen procedures te maken en deze aan te roepen vanuit een Java-programma.
JDBC is de veelgebruikte afkorting voor Java Database Connectivity. Door JDBC te gebruiken, kunnen we communiceren met verschillende soorten relationele databases, zoals Oracle, MySQL, MS Access, enz.
Dit artikel zal je helpen om het JDBC-interview te kraken. We hebben hier alle belangrijke JDBC-concepten uitgelegd.
Veelgestelde JDBC-interviewvragen
Q # 1) Wat is JDBC?
Antwoord: Java Database Connectivity is onofficieel bekend als JDBC. Het wordt gebruikt om DB-bewerkingen in Database uit te voeren vanuit een Java-applicatie. Het ondersteunt interactie met elk type database zoals Oracle, MySQL, MS Access, enz.
V # 2) Wat is het nut van de JDBC-driver?
Antwoord: Het is een softwarecomponent en wordt gebruikt om de Java-applicatie te laten communiceren met de database.
V # 3) Wat zijn de verschillende typen stuurprogramma's in JDBC?
Antwoord: Er zijn 4 verschillende JDBC-stuurprogramma's op de markt.
Zij zijn:
- Type I: JDBC - ODBC-brug
- Type II: Native API - Half Java-stuurprogramma
- Type III: Netwerkprotocol - Volledig Java-stuurprogramma
- Type IV: Dun stuurprogramma - Volledig Java-stuurprogramma
Type I: JDBC-ODBC-brug
De JDBC-ODBC-bridge gaat zich gedragen als een interface tussen de client en de DB-server. De client moet het JDBC-ODBC-stuurprogramma erin plaatsen. De database moet het ODBC-stuurprogramma ondersteunen. Als we ons geen zorgen maken over de installatie van het stuurprogramma binnen het clientsysteem, zullen we dit stuurprogramma gebruiken.
Type II: Native API: Half Java-stuurprogramma
Het is bijna als een JDBC-ODBC-stuurprogramma. In plaats van een ODBC-stuurprogramma gebruiken we hier native API. Er worden bibliotheken van de client-side database gebruikt.
Type III: netwerkprotocol
Het werkt als een drieledige benadering om toegang te krijgen tot de database. Er wordt een tussenliggende server gebruikt om verbinding te maken met DB. Aanroepen van de JDBC-methode sturen gegevens naar een tussenliggende server, waarna de server zal communiceren met DB.
Type IV: dunne driver
Het is absoluut in Java geschreven. Het converteert expliciet JDBC-methodeaanroepen naar het leverancierspecifieke databaseprotocol. Tegenwoordig levert Database-handelaar zelf dit type stuurprogramma voor hun klanten. Programmeurs vertrouwen dus niet op andere bronnen. Het geeft betere prestaties dan de andere stuurprogramma's.
Q # 4) Welk type JDBC-stuurprogramma wordt door de meeste mensen gebruikt?
Antwoord: Type IV Thin driver wordt in de meeste toepassingen gebruikt. Het is ontwikkeld door de databaseleverancier zelf, zodat de ontwikkelaars het rechtstreeks kunnen gebruiken zonder afhankelijk te zijn van andere bronnen. Het zorgt voor een eenvoudige en gemakkelijke ontwikkeling. Het geeft betere prestaties dan de andere stuurprogramma's.
V # 5) Wat zijn de soorten JDBC-architectuur?
Antwoord: JDBC ondersteunt 2 soorten verwerkingsmodellen om toegang te krijgen tot de database.
Zij zijn:
- Architectuur op twee niveaus: Hier maken Java-programma's expliciet verbinding met DB. We hebben geen bemiddelaar zoals applicatieserver nodig om verbinding te maken met DB, behalve de JDBC-driver. Het is ook bekend als een client-server-architectuur.
- Drielaagse architectuur: Het is totaal omgekeerd ten opzichte van de architectuur op twee niveaus. Er zal geen expliciete communicatie zijn tussen het JDBC-stuurprogramma of het Java-programma en de database. Een applicatieserver wordt gebruikt als bemiddelaar tussen hen. Het Java-programma zal het verzoek naar een applicatieserver sturen, en de server zal het verzenden en het antwoord ontvangen van / naar DB.
V # 6) Wat zijn de componenten van JDBC?
Antwoord: Er zijn 4 hoofdcomponenten die beschikbaar zijn in JDBC.
Zij zijn:
- JDBC API
- JDBC-stuurprogrammabeheer
- JDBC-testsuite
- JDBC - ODBC-brug
V # 7) Wat zijn de stappen om verbinding te maken met JDBC?
Antwoord: Er zijn 6 basisstappen om verbinding te maken met DB in Java. Deze worden hieronder vermeld:
- Pakket importeren
- Driver Laden
- Breng verbinding tot stand
- Opstellen en uitvoeren van de verklaring
- Haal resultaten op
- Hechte band
V # 8) Welke gegevenstypen worden gebruikt om de afbeelding en het bestand in de databasetabel op te slaan?
Antwoord:
- BLOB-gegevenstype wordt gebruikt om de afbeelding in DB op te slaan. We kunnen video's en audio ook opslaan in het BLOB-gegevenstype. Het wordt gebruikt om het binaire type gegevens op te slaan.
- CLOB-gegevenstype wordt gebruikt om het bestand op te slaan in DB. Het wordt gebruikt om het karaktertype van gegevens op te slaan.
Q # 9) Wat is DriverManager in JDBC?
Antwoord: DriverManager is een ingebouwde klasse die aanwezig is in het pakket java.sql. Het zal worden gebruikt als bemiddelaar tussen de Java-applicatie en DB, die we verbinden / gebruiken in onze code. Als eerste stap moeten we de driver registreren of laden met DriverManager. De driver is dan beschikbaar voor gebruik in de applicatie.
De belangrijkste functie van DriverManager is het laden van de stuurprogrammaklasse van de database en het maken van een verbinding met DB.
Er zijn 2 manieren om de driver te registreren of te laden:
- Class.forName ()
- DriverManager.registerDriver ()
V # 10) Wat is het verschil tussen Statement- en PreparedStatement-interfaces.
Antwoord: In onderstaande tabel worden de verschillen uitgelegd:
UITSPRAAK | VOORBEREIDE VERKLARING |
---|---|
Het wordt voornamelijk gebruikt voor het uitvoeren van statische SQL-instructies | Het wordt voornamelijk gebruikt voor het uitvoeren van vooraf gecompileerde SQL-instructies |
Het accepteert geen parameters tijdens runtime | Het accepteert verschillende parameters tijdens runtime |
De prestaties zijn minder in vergelijking met voorbereideStatement | De prestaties zijn hoger dan die van Statement, aangezien het de voorgecompileerde SQL-instructies uitvoert |
Het is geschikt voor het uitvoeren van DDL-instructies zoals CREATE, DROP, ALTER en TRUNCATE | Het is geschikt voor het uitvoeren van DML-instructies zoals INSERT, UPDATE en DELETE |
Het kan niet worden gebruikt voor het opslaan of ophalen van afbeelding en bestand in DB | Het kan worden gebruikt voor het opslaan of ophalen van afbeelding en bestand in DB |
Het dwingt SQL-injectie af | Het voorkomt SQL-injectie |
Voorgestelde lezing = >> JDBC PreparedStatement en verklaring
Q # 11) Leg het verschil uit tussen execute (), executeQuery () en executeUpdate ().
Antwoord:
executeQuery () | uitvoerenUpdate () | Uitvoeren () |
---|---|---|
Het wordt gebruikt om de SQL-instructies uit te voeren die bepaalde gegevens uit DB ophalen | Het wordt gebruikt om de SQL-instructies uit te voeren die de gegevens in DB zullen bijwerken of wijzigen | Het wordt gebruikt om elk type SQL-instructies uit te voeren |
Het retourneert het object resultSet | Het retourneert een geheel getal dat het nee vertegenwoordigt. van getroffen rijen | Het retourneert een Booleaanse waarde TRUE - retourneert een resultSet-object FALSE - retourneert een int-waarde of niets |
Het wordt gebruikt om alleen SELECT Query uit te voeren | Het wordt gebruikt om alleen een niet-SELECTEER-query uit te voeren | Het wordt gebruikt om zowel SELECT- als niet-SELECT-query's uit te voeren |
V # 12) Hoe opgeslagen procedures in JDBC oproepen?
Antwoord: We kunnen de SQL Stored-procedures uitvoeren via de CallableStatement-interface. Het CallableStatement-object kan worden gemaakt met behulp van de methode preparCall () van de verbindingsinterface.
Q # 13) Wat is de ResultSet-interface?
Antwoord: De ResultSet-interface wordt gebruikt om de uitvoergegevens op te slaan nadat de SQL-query is uitgevoerd. Het object van ResultSet handhaaft de cursor op de resultaatgegevens. Standaard wijst de cursor voor de eerste rij met de resultaatgegevens. We kunnen ook door de gegevens in de resultaatsetobjecten bladeren.
wat is regressietesten met voorbeeld
Syntaxis:
Statement-interface:
PreparedStatement-interface:
V # 14) Wat zijn de soorten ResultSet?
Antwoord: Er zijn 3 soorten in ResultSet. Dit zijn:
hoe een grafiek in java weer te geven
- TYPE_FORWARD_ONLY: Dit is de standaardoptie. De cursor beweegt van begin naar eind.
- TYPE_SCROLL_INSENSITIVE: Bij dit type beweegt de cursor zowel vooruit als achteruit. Dataset bevat de gegevens wanneer de SQL-query de gegevens retourneert.
- TYPE_SCROLL_SENSITIVE: Het is hetzelfde als TYPE_SCROLL_INSENSITIVE, het verschil is dat het de bijgewerkte gegevens zal hebben terwijl het resultaatsetobject wordt herhaald.
V # 15) Wat zijn de concurrency-modi in ResultSet?
Antwoord: Er zijn 2 verschillende manieren van gelijktijdigheid in ResultSet. Zij zijn:
- ResultSet.CONCUR_READ_ONLY : Het is de standaard gelijktijdigheidsmodus. Er is een alleen-lezen optie beschikbaar. Updaten is niet mogelijk.
- ResultSet.CONCUR_UPDATABLE: Updaten is mogelijk.
V # 16) Hoe kan ik controleren of de database de gelijktijdigheidsmodus ondersteunt?
Antwoord: We hebben de supportsResultSetConcurrency () -methode die zal worden gebruikt om te controleren of het gegeven type en de concurrency-modi worden ondersteund door de database of niet.
Q # 17) Kunnen we de gegevens van de betreffende rij uit de resultatenset halen?
Notitie: ResultSet heeft de gegevens van een set rijen
Antwoord: Ja, we kunnen de gegevens van de specifieke rij uit de resultSet halen met behulp van de relatieve () - methode. Het zal de cursor naar de gegeven rij verplaatsen, hetzij in voorwaartse of achterwaartse richting vanaf de huidige rij. Als de positieve waarde is gegeven, beweegt deze in voorwaartse richting. Als de negatieve waarde is opgegeven, beweegt deze in achterwaartse richting.
Vraag 18) Wat is het gebruik van de getter- en setter-methoden in ResultSet?
Antwoord:
Getter-methoden: Deze worden gebruikt om de waarden van de specifieke kolom van de tabel uit ResultSet op te halen. De Kolomindexwaarde of Kolomnaam moet als parameter worden doorgegeven. Normaal gesproken stellen we de getter-methode voor als getXXX () -methoden.
Voorbeeld:
- int getInt(string Column_Name): Het wordt gebruikt om de waarde van de opgegeven kolom Index en het gegevenstype int op te halen als een retourtype.
Setter-methoden: We kunnen de waarde in de database instellen met behulp van ResultSet setter-methoden. Het is vergelijkbaar met getter-methoden, maar hier moeten we de waarden / gegevens voor de specifieke kolom doorgeven om in de database in te voegen en de indexwaarde of kolomnaam van die kolom. Normaal gesproken zullen we de setter-methode vertegenwoordigen als setXXX () -methoden.
Voorbeeld:
- void setInt (int Column_Index, int Data_Value): Het wordt gebruikt om de waarde van de opgegeven kolom Index in te voegen met een int-waarde.
V # 19) Wat is het belangrijkste doel van de ResultSetMetaData-interface?
Antwoord: Deze interface geeft meer informatie over ResultSet. Elk ResultSet-object is gekoppeld aan één ResultSetMetaData-object.
Dit object heeft de details van de eigenschappen van de kolommen zoals datatype van de kolom, kolomnaam, het aantal kolommen in die tabel, tabelnaam, schemanaam, enz., De methode getMetaData () van het ResultSet-object wordt gebruikt om het ResultSetMetaData-object.
Syntaxis:
Q # 20) Wat is DatabaseMetaData?
Antwoord: De DatabaseMetaData-interface geeft informatie over de database die we gebruiken. We krijgen de volgende informatie: databasenaam, databaseversie, enzovoort.
V # 21) Wat is de eigenschap ACID?
Antwoord:
- A – Atomiciteit -> Als alle zoekopdrachten met succes zijn uitgevoerd, worden de gegevens vastgelegd, anders worden ze niet vastgelegd.
- C – Consistentie -> De gegevens moeten na elke transactie consistent zijn.
- I – Isolatie -> Elke transactie moet worden geïsoleerd.
- D – Duurzaamheid -> Als de transactie eenmaal is vastgelegd, moet deze altijd beschikbaar zijn (als er geen wijzigingen zijn opgetreden)
V # 22) Hoe verander ik de auto-commit mode waarde?
Antwoord: Standaard is de waarde van AutoCommit TRUE. Na uitvoering van de SQL-instructie wordt deze automatisch vastgelegd. Met de methode setAutoCommit () kunnen we de waarde wijzigen in AutoCommit.
V # 23) Wat is het gebruik van de methoden Commit en Rollback?
Antwoord:
Commit () methode: We hebben de methode commit () in Java om de gegevens vast te leggen. Zodra de SQL-uitvoering is voltooid, kunnen we de commit-methode aanroepen.
Syntaxis: connectionobj.commit ();
Rollback () methode: We hebben de rollback () -methode in Java om de gegevens terug te draaien. Rollback betekent dat de wijzigingen ongedaan worden gemaakt. Als een van de SQL-instructies mislukt, kunnen we de rollback-methode aanroepen om de wijzigingen ongedaan te maken.
Syntaxis: connectionobj.rollback ();
V # 24) Wat is savepoint en wat zijn de methoden die we in JDBC hebben voor savepoint?
Antwoord: Savepoint wordt gebruikt om checkpoints in een transactie te creëren en stelt ons in staat om een rollback naar het specifieke savepoint uit te voeren. Zodra de transactie is gecommit of gerold, wordt het opslagpunt dat voor een transactie is gemaakt automatisch vernietigd en wordt het ongeldig.
Methoden voor Savepoint:
- setSavepoint () methode: Het wordt gebruikt om een opslagpunt te maken, we kunnen de rollback () -methode gebruiken om alle wijzigingen tot het opslagpunt ongedaan te maken.
- releaseSavepoint () methode: Het wordt gebruikt om het opgegeven opslagpunt te verwijderen.
V # 25) Noem enkele uitzonderingen die onder SQLException?
Antwoord:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Klik hier voor meer informatie over de bovenstaande uitzonderingen.
V # 26) Wat is batchverwerking en hoe doe je dit in JDBC?
Antwoord: Batchverwerking is het proces waarbij meerdere SQL-instructies in één transactie worden uitgevoerd. Hierdoor wordt de communicatietijd verkort en worden de prestaties verbeterd. Het maakt het verwerken van een grote hoeveelheid gegevens veel gemakkelijker.
Voordelen van batchverwerking:
- Prestatie verbeteren
- Data consistentie
Batchverwerking uitvoeren:
We hebben addBatch () en executeBatch () -methoden in Java om batchverwerking uit te voeren. Deze 2 methoden zijn aanwezig in de klassen Statement en PreparedStatement.
V # 27) Wat is de opgeslagen procedure?
Antwoord: Een groep SQL-query's die als een enkele eenheid worden uitgevoerd om een bepaalde taak uit te voeren, staat bekend als een opgeslagen procedure. We kunnen 3 verschillende soorten parameters doorgeven. Elke procedure wordt vertegenwoordigd door zijn naam. De naam van de procedure moet dus uniek zijn.
>> Raadpleeg dit voor meer informatie over de opgeslagen procedure koppeling
V # 28) Wat zijn de parametertypes in opgeslagen procedures?
Antwoord: Er zijn drie soorten parameters beschikbaar in opgeslagen procedures. Zij zijn:
- IN: Wordt gebruikt om de invoerwaarden door te geven aan de procedure.
- UIT: Wordt gebruikt om de waarde uit de procedure te halen.
- IN UIT: Wordt gebruikt om de invoerwaarden door te geven en de waarde van / naar de procedure op te halen.
Gevolgtrekking
Dit zijn enkele JDBC-interviewvragen die betrekking hebben op zowel het basisniveau als het gevorderde niveau. We hopen dat deze tutorial je een overzicht geeft van JDBC. De uitleg die hierboven wordt gegeven, zal uw kennis verrijken en uw begrip van JDBC vergroten. Al het beste!!!
Aanbevolen literatuur
- Zelfstudie voor Java JDBC-verbinding met programmeervoorbeeld
- Java JDBC-transactiebeheer met voorbeeld
- Java JDBC-zelfstudie: wat is JDBC (Java Database Connectivity)
- JDBC ResultSet: Java ResultSet gebruiken om gegevens op te halen
- Interview vragen en antwoorden
- 25 beste vragen en antwoorden voor agile-tests
- Vragen en antwoorden over ETL-tests
- Top 25 vragen en antwoorden voor Java Web Services-sollicitatiegesprekken