top 25 jdbc interview questions
Denne opplæringen gir ofte stilte spørsmål og svar på JDBC-intervju med forklaringer som hjelper deg med å forberede deg på intervjuet:
I JDBC batchbehandling og lagret prosedyre opplæring av JDBC opplæringsserie , lærte vi metoder for å gjøre batchbehandling i Java ved hjelp av JDBC-driver og lærte også å lage lagrede prosedyrer og kalle det fra et Java-program.
JDBC er det ofte brukte korte skjemaet for Java Database Connectivity. Ved å bruke JDBC kan vi samhandle med forskjellige typer relasjonsdatabaser som Oracle, MySQL, MS Access, etc.
Denne artikkelen vil hjelpe deg med å knekke JDBC-intervjuet. Vi har her forklart alle viktige JDBC-konsepter.
Ofte stilte spørsmål om JDBC-intervju
Q # 1) Hva er JDBC?
Svar: Java Database Connectivity er uoffisielt kjent som JDBC. Den brukes til å utføre DB-operasjoner i databasen fra Java-applikasjonen. Den støtter interaksjon med alle slags DB som Oracle, MySQL, MS Access, etc.
Q # 2) Hva er bruken av JDBC-driveren?
Svar: Det er en programvarekomponent og brukes til å få Java-applikasjonen til å samhandle med databasen.
Q # 3) Hva er de forskjellige typene drivere i JDBC?
Svar: Det er 4 forskjellige JDBC-drivere der ute i markedet.
De er:
- Type I: JDBC - ODBC Bridge
- Type II: Native API - Half Java Driver
- Type III: Network Protocol– Totally Java Driver
- Type IV: Tynn driver - Helt Java-driver
Type I: JDBC-ODBC Bridge
JDBC-ODBC bridge vil oppføre seg som et grensesnitt mellom klienten og DB-serveren. Klienten bør sette JDBC-ODBC-driveren i den. Databasen burde støtte ODBC-driveren. Hvis vi ikke er bekymret for driverinstallasjonen i klientsystemet, vil vi bruke denne driveren.
Type II: Native API: Half Java Driver
Det er nesten som en JDBC-ODBC-driver. I stedet for en ODBC-driver, bruker vi native API her. Biblioteker til klientsiden brukes.
Type III: Nettverksprotokoll
Det fungerer som en 3-lags tilnærming for å få tilgang til databasen. En mellomtjener vil bli brukt til å koble til DB. JDBC-metodesamtaler sender data til en mellomtjener, da vil serveren kommunisere med DB.
Type IV: tynn driver
Det er absolutt skrevet på Java. Den konverterer eksplisitt JDBC-metoden til den leverandørspesifikke databaseprotokollen. I dag leverer Database selgeren denne typen drivere til sine kunder. Så programmerere stoler ikke på andre kilder. Det gir høyere ytelse enn de andre driverne.
Q # 4) Hvilken type JDBC-driver brukes av folk flest?
Svar: Type IV tynn driver brukes i de fleste applikasjoner. Den er utviklet av databaseleverandøren selv, slik at utviklerne kan bruke den direkte uten å avhenge av andre kilder. Det gir mulighet for enkel og enkel utvikling. Det gir høyere ytelse enn de andre driverne.
Spørsmål nr. 5) Hva er typene JDBC-arkitektur?
Svar: JDBC støtter to typer behandlingsmodeller for å få tilgang til DB.
De er:
- To-lags arkitektur: Her kobles Java-programmer eksplisitt til DB. Vi trenger ikke noen megler som applikasjonsserver for å koble til DB bortsett fra JDBC-driveren. Det er også kjent som en klient-server-arkitektur.
- Tre-lags arkitektur: Det er helt omvendt av to-lags arkitektur. Det vil ikke være noen eksplisitt kommunikasjon mellom JDBC-driveren eller Java-programmet og databasen. En applikasjonsserver brukes som megler mellom dem. Java-programmet vil sende forespørselen til en applikasjonsserver, og serveren vil sende den og motta svaret til / fra DB.
Q # 6) Hva er komponentene i JDBC?
Svar: Det er fire hovedkomponenter som er tilgjengelige i JDBC.
De er:
- JDBC API
- JDBC Driver Manager
- JDBC Test Suite
- JDBC - ODBC Bridge
Q # 7) Hva er trinnene for å koble til JDBC?
Svar: Det er 6 grunnleggende trinn for å koble til DB i Java. Disse er vervet nedenfor:
- Importer pakke
- Last sjåfør
- Opprette forbindelse
- Opprettelse og gjennomføring av uttalelsen
- Hent resultatene
- Lukk tilkobling
Q # 8) Hvilke datatyper brukes til å lagre bildet og filen i databasetabellen?
Svar:
- BLOB datatype brukes til å lagre bildet i DB. Vi kan også lagre videoer og lyd i BLOB-datatypen. Den brukes til å lagre den binære typen data.
- CLOB datatype brukes til å lagre filen i DB. Den brukes til å lagre karaktertypen data.
Q # 9) Hva er DriverManager i JDBC?
Svar: DriverManager er en innebygd klasse som er tilstede i java.sql-pakken. Den vil bli brukt som megler mellom Java-applikasjonen og DB, som vi kobler til / bruker i koden vår. Som et første trinn må vi registrere eller laste driveren med DriverManager. Da vil sjåføren være tilgjengelig for bruk i applikasjonen.
Hovedfunksjonen til DriverManager er å laste inn driverklassen til databasen og opprette en forbindelse med DB.
Det er to måter å registrere eller laste inn driveren på:
- Class.forName ()
- DriverManager.registerDriver ()
Q # 10) Hva er forskjellen mellom uttalelser og PreparedStatement-grensesnitt.
Svar: Tabellen nedenfor forklarer forskjellene:
UTTALELSE | FORBEREDT UTTALELSE |
---|---|
Den vil hovedsakelig brukes til å utføre statiske SQL-setninger | Den vil hovedsakelig brukes til å utføre forhåndskompilerte SQL-setninger |
Det godtar ikke parametere ved kjøretid | Det vil akseptere forskjellige parametere ved kjøretid |
Ytelsen er mindre sammenlignet med PreparatedStatement | Dens ytelse er høyere enn Statement siden den kjører de forhåndskompilerte SQL-setningene |
Det er hensiktsmessig for å utføre DDL-setninger som CREATE, DROP, ALTER og TRUNCATE | Det er hensiktsmessig for å utføre DML-setninger som INSERT, UPDATE og DELETE |
Den kan ikke brukes til å lagre eller hente bilde og filer i DB | Den kan brukes til å lagre eller hente bilde og filer i DB |
Den håndhever SQL Injection | Det forhindrer SQL Injection |
Foreslått lesing = >> JDBC PreparedStatement and Statement
Q # 11) Forklar forskjellen mellom execute (), executeQuery () og executeUpdate ().
Svar:
executeQuery () | executeUpdate () | Henrette() |
---|---|---|
Den brukes til å utføre SQL-setningene som henter noen data fra DB | Den brukes til å utføre SQL-setningene som vil oppdatere eller endre dataene i DB | Den brukes til å utføre alle slags SQL-setninger |
Den returnerer resultSet-objektet | Den returnerer en heltallverdi som representerer nei. av berørte rader | Den returnerer en boolsk verdi SANT - returnerer et resultSet-objekt FALSE - returnerer en int-verdi eller ingenting |
Den brukes til å utføre bare SELECT Query | Den brukes til å utføre bare et ikke-SELECT-spørsmål | Den brukes til å utføre både SELECT og ikke-SELECT spørringer |
Spørsmål nr. 12) Hvordan ringe lagrede prosedyrer i JDBC?
Svar: Vi kan utføre SQL Stored-prosedyrene gjennom CallableStatement-grensesnittet. CallableStatement-objektet kan opprettes ved hjelp av PreparCall () -metoden i tilkoblingsgrensesnittet.
Q # 13) Hva er ResultSet-grensesnittet?
Svar: ResultSet-grensesnitt brukes til å lagre utdataene etter kjøring av SQL-spørring. Objektet til ResultSet opprettholder markørpunktet ved resultatdataene. Som standard peker markøren før den første raden med resultatdataene. Vi kan også krysse dataene i resultatobjektene.
hvordan du åpner .bin filer Windows 10
Syntaks:
Uttalelsesgrensesnitt:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
PreparedStatement-grensesnitt:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
Q # 14) Hva er typene ResultSet?
Svar: Det er 3 typer i ResultSet. Disse er:
beste gratis musikknedlastingsapp for android
- TYPE_FORWARD_ONLY: Det er standardalternativet. Markøren beveger seg fra start til slutt.
- TYPE_SCROLL_INSENSITIVE: I denne typen vil markøren bevege seg både fremover og bakover. Datasett har dataene når SQL-spørringen returnerer dataene.
- TYPE_SCROLL_SENSITIVE: Det er det samme som TYPE_SCROLL_INSENSITIVE, forskjellen er at den vil ha de oppdaterte dataene mens den gjentar resultatsettobjektet.
Sp # 15) Hva er samtidighetsmodusene i ResultSet?
Svar: Det er to forskjellige moduser for samtidighet i ResultSet. De er:
- ResultSet.CONCUR_READ_ONLY : Det er standard samtidighetsmodus. Et skrivebeskyttet alternativ er tilgjengelig. Oppdatering er ikke mulig.
- ResultSet.CONCUR_UPDATABLE: Oppdatering er mulig.
Sp # 16) Hvordan sjekke om databasen støtter samtidighetsmodus?
Svar: Vi har supportsResultSetConcurrency () -metoden som vil bli brukt til å sjekke om den gitte typen og samtidighetsmodusene støttes av databasen eller ikke.
Sp # 17) Kan vi hente dataene fra den aktuelle raden fra resultatsettet?
Merk: ResultSet har dataene til et sett med rader
Svar: Ja, vi kan hente dataene til den aktuelle raden fra resultSet ved hjelp av relativ () -metoden. Den vil flytte markøren til den gitte raden enten fremover eller bakover fra gjeldende rad. Hvis den positive verdien er gitt, vil den bevege seg fremover. Hvis den negative verdien er gitt, vil den bevege seg bakover.
Q # 18) Hva er bruken av getter- og settermetodene i ResultSet?
Svar:
Getter metoder: Disse brukes til å hente verdiene til den aktuelle kolonnen i tabellen fra ResultSet. Enten kolonneindeksverdien eller kolonnenavnet skal sendes som en parameter. Normalt vil vi representere getter-metoden som getXXX () -metoder.
Eksempel:
- int getInt (streng Column_Name): Den brukes til å hente verdien til den angitte kolonnen Indeks og int-datatypen som en returtype.
Setter Metoder: Vi kan sette verdien i databasen ved hjelp av ResultSet setter-metoder. Det ligner på gettermetoder, men her må vi sende verdiene / dataene for den aktuelle kolonnen for å sette inn i databasen og indeksverdien eller kolonnenavnet til den kolonnen. Normalt vil vi representere settermetoden som setXXX () -metoder.
Eksempel:
- ugyldig setInt (int Column_Index, int Data_Value): Den brukes til å sette inn verdien til den angitte kolonnen Indeks med en int-verdi.
Q # 19) Hva er hovedformålet med ResultSetMetaData-grensesnittet?
Svar: Dette grensesnittet gir mer informasjon om ResultSet. Hvert ResultatSet-objekt er assosiert med ett ResultSetMetaData-objekt.
Dette objektet vil ha detaljene for egenskapene til kolonnene som datatype for kolonnen, kolonnenavn, antall kolonner i den tabellen, tabellnavn, skjemanavn, etc., metoden getMetaData () for ResultSet-objektet brukes til å lage ResultatSetMetaData-objekt.
Syntaks:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
Spørsmål nr. 20) Hva er DatabaseMetaData?
Svar: DatabaseMetaData-grensesnittet gir informasjon om databasen vi bruker. Vi får følgende informasjon - DatabaseName, Database versjon, og så videre.
Q # 21) Hva er ACID-egenskap?
Svar:
- A – Atomisitet -> Hvis alle spørsmålene er utført vellykket, blir dataene begått ellers vil ikke begå.
- C – Konsistens -> Data skal være konsistente etter enhver transaksjon.
- I – Isolation -> Hver transaksjon skal isoleres.
- D – Holdbarhet -> Hvis transaksjonen er begått en gang, bør den alltid være tilgjengelig (hvis ingen endringer har skjedd)
Q # 22) Hvordan endrer du verdien for automatisk forpliktelsesmodus?
Svar: Som standard er verdien av AutoCommit SANN. Etter utførelsen av SQL-setningen vil den bli begått automatisk. Ved å bruke metoden setAutoCommit () kan vi endre verdien til AutoCommit.
Spørsmål nr. 23) Hva er bruken av forpliktelses- og tilbakeføringsmetoder?
Svar:
Commit () metode: Vi har commit () -metoden i Java for å begå dataene. Når SQL-kjøringen er ferdig, kan vi kalle commit-metoden.
Syntaks: connectionobj.commit ();
Rollback () -metode: Vi har tilbakeføring () -metoden i Java for å tilbakeføre dataene. Tilbakestilling betyr å angre endringene. Hvis noen av SQL-setningene mislykkes, kan vi ringe tilbakeføringsmetoden for å angre endringene.
Syntaks: connectionobj.rollback ();
Sp # 24) Hva er savepoint og hva er metodene vi har i JDBC for savepoint?
Svar: Savepoint brukes til å opprette sjekkpunkter i en transaksjon, og det lar oss utføre en tilbakestilling til det spesifikke lagringspunktet. Når transaksjonen er begått eller rullet tilbake, blir lagringspunktet som er opprettet for en transaksjon automatisk ødelagt og blir ugyldig.
Metoder for Savepoint:
- setSavepoint () metode: Den brukes til å opprette Savepoint, vi kan bruke tilbakekoblingsmetoden () til å angre alle endringene til lagringspunktet.
- releaseSavepoint () metode: Den brukes til å fjerne det gitte lagringspunktet.
Q # 25) Oppgi noen unntak som kommer inn under SQLException?
Svar:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Klikk her for mer informasjon om unntakene ovenfor.
Q # 26) Hva er batchbehandling og hvordan gjør jeg det i JDBC?
Svar: Batchbehandling er prosessen med å utføre flere SQL-setninger i en transaksjon. Dette vil redusere kommunikasjonstiden og øke ytelsen. Det gjør behandling av store mengder data mye enklere.
Fordeler med batchbehandling:
- Forbedre ytelsen
- Datakonsistens
Slik utfører du batchbehandling:
Vi har addBatch () og executeBatch () -metoder i Java for å utføre batch-behandling. Disse to metodene er til stede i klasser for uttalelser og forberedte uttalelser.
Sp # 27) Hva er den lagrede prosedyren?
Svar: En gruppe SQL-spørsmål som kjøres som en enkelt enhet for å utføre en bestemt oppgave, er kjent som en lagret prosedyre. Vi kan passere 3 forskjellige typer parametere. Hver prosedyre er representert med navnet. Så navnet på prosedyren skal være unikt.
>> For mer informasjon om den lagrede prosedyren, se denne lenke .
Q # 28) Hva er parametertypene i lagrede prosedyrer?
Svar: Det er tre typer parametere tilgjengelig i lagrede prosedyrer. De er:
- I: Brukes til å overføre inngangsverdiene til prosedyren.
- UTE: Brukes for å få verdien fra prosedyren.
- INN / UT: Brukes til å overføre inngangsverdiene og få verdien til / fra prosedyren.
Konklusjon
Dette er noen JDBC-intervjuspørsmål som dekker både grunnleggende og avanserte nivåer. Vi håper at denne opplæringen vil gi deg en oversikt over JDBC. Forklaringene som er gitt ovenfor vil berike din kunnskap og øke din forståelse av JDBC. Beste ønsker!!!
Anbefalt lesing
- Java JDBC-tilkoblingsveiledning med programmeringseksempel
- Java JDBC-transaksjonsstyring med eksempel
- Java JDBC Tutorial: Hva er JDBC (Java Database Connectivity)
- JDBC ResultSet: Hvordan bruke Java ResultSet for å hente data
- Intervju Spørsmål og svar
- 25 Beste Agile Testing Intervju Spørsmål og svar
- ETL Testing Intervju Spørsmål og svar
- Topp 25 Java Web Services Intervju Spørsmål og svar