top 25 jdbc interview questions
Denne tutorial giver ofte stillede JDBC-interviewspørgsmål og svar med forklaringer, der hjælper dig med at forberede dig til interviewet:
I JDBC batchbehandling og lagret procedure tutorial af JDBC tutorial-serie , vi lærte metoder til at udføre batchbehandling i Java ved hjælp af JDBC-driver og lærte også at oprette lagrede procedurer og kalde det fra et Java-program.
JDBC er den almindeligt anvendte korte form til Java Database Connectivity. Ved at bruge JDBC kan vi interagere med forskellige typer af relationsdatabaser som Oracle, MySQL, MS Access osv.
Denne artikel hjælper dig med at knække JDBC-interviewet. Vi har her forklaret alle de vigtige JDBC-koncepter.
Ofte stillede spørgsmål om JDBC-interview
Q # 1) Hvad er JDBC?
Svar: Java Database Connectivity er uofficielt kendt som JDBC. Det bruges til at udføre DB-operationer i databasen fra Java-applikationen. Det understøtter interaktion med enhver form for DB som Oracle, MySQL, MS Access osv.
Spørgsmål nr. 2) Hvad bruger JDBC-driveren?
Svar: Det er en softwarekomponent og bruges til at få Java-applikationen til at interagere med databasen.
Spørgsmål nr. 3) Hvad er de forskellige typer drivere i JDBC?
Svar: Der er 4 forskellige JDBC-drivere derude på markedet.
De er:
- Type I: JDBC - ODBC Bridge
- Type II: Native API - Halv Java-driver
- Type III: Netværksprotokol - helt Java-driver
- Type IV: Tynd driver - Helt Java-driver
Type I: JDBC-ODBC Bridge
JDBC-ODBC bridge vil opføre sig som en grænseflade mellem klienten og DB-serveren. Klienten skal placere JDBC-ODBC-driveren i den. Databasen burde understøtte ODBC-driveren. Hvis vi ikke er bekymrede over driverinstallationen i klientsystemet, bruger vi denne driver.
Type II: Native API: Halv Java-driver
Det er næsten som en JDBC-ODBC-driver. I stedet for en ODBC-driver bruger vi native API her. Biblioteker i klientsidesdatabasen bruges.
Type III: Netværksprotokol
Det fungerer som en 3-lags tilgang for at få adgang til databasen. En mellemliggende server vil blive brugt til at oprette forbindelse til DB. JDBC-metodeopkald sender data til en mellemliggende server, så kommunikerer serveren med DB.
Type IV: Tynd driver
Det er absolut skrevet på Java. Det konverterer eksplicit JDBC-metodeopkald til den leverandørspecifikke databaseprotokol. I dag leverer databaseforhandleren selv denne type driver til deres kunder. Så programmører stoler ikke på andre kilder. Det giver højere ydelse end de andre drivere.
Q # 4) Hvilken type JDBC-driver bruges af de fleste mennesker?
Svar: Type IV tynd driver bruges i de fleste applikationer. Det er udviklet af databaseleverandøren selv, så udviklerne kan bruge den direkte uden at være afhængig af andre kilder. Det giver mulighed for enkel og nem udvikling. Det giver højere ydelse end de andre drivere.
Spørgsmål nr. 5) Hvad er typerne af JDBC-arkitektur?
Svar: JDBC understøtter 2 slags behandlingsmodeller for at få adgang til DB.
De er:
- To-lags arkitektur: Her forbinder Java-programmer eksplicit med DB. Vi har ikke brug for nogen mediator som applikationsserver for at oprette forbindelse til DB undtagen JDBC-driveren. Det er også kendt som en klientserverarkitektur.
- Tre-lags arkitektur: Det er helt omvendt af to-lags arkitektur. Der vil ikke være nogen eksplicit kommunikation mellem JDBC-driveren eller Java-programmet og databasen. En applikationsserver bruges som formidler mellem dem. Java-programmet sender anmodningen til en applikationsserver, og serveren sender den og modtager svaret til / fra DB.
Q # 6) Hvad er komponenterne i JDBC?
Svar: Der er 4 hovedkomponenter, der er tilgængelige i JDBC.
De er:
- JDBC API
- JDBC Driver Manager
- JDBC Test Suite
- JDBC - ODBC Bridge
Spørgsmål nr. 7) Hvad er trinnene for at oprette forbindelse til JDBC?
Svar: Der er 6 grundlæggende trin til at oprette forbindelse til DB i Java. Disse er anført nedenfor:
- Importer pakke
- Belastning driver
- Opret forbindelse
- Oprettelse og udførelse af erklæringen
- Hent resultater
- Luk forbindelse
Q # 8) Hvilke datatyper bruges til at gemme billedet og filen i databasetabellen?
Svar:
- BLOB-datatype bruges til at gemme billedet i DB. Vi kan også gemme videoer og lydbånd i BLOB-datatypen. Det bruges til at gemme den binære datatype.
- CLOB datatype bruges til at gemme filen i DB. Det bruges til at gemme karaktertypen af data.
Q # 9) Hvad er DriverManager i JDBC?
Svar: DriverManager er en indbygget klasse, der findes i pakken java.sql. Det vil blive brugt som en mægler mellem Java-applikationen og DB, som vi forbinder / bruger i vores kode. Som et første trin skal vi registrere eller indlæse driveren med DriverManager. Derefter vil driveren være tilgængelig til brug i applikationen.
DriverManagers hovedfunktion er at indlæse driverklassen i databasen og oprette en forbindelse med DB.
Der er to måder at registrere eller indlæse driveren på:
- Class.forName ()
- DriverManager.registerDriver ()
Q # 10) Hvad er forskellen mellem Statement og PreparedStatement-grænseflader.
Svar: Nedenstående tabel forklarer forskellene:
UDMELDING | FORBEREDT UDTALELSE |
---|---|
Det bruges hovedsageligt til udførelse af statiske SQL-sætninger | Det vil hovedsagelig blive brugt til at udføre præ-kompilerede SQL-sætninger |
Det accepterer ikke parametre under kørsel | Det accepterer forskellige parametre under kørsel |
Dens ydeevne er mindre sammenlignet med preparedStatement | Dens ydeevne er højere end erklæring, da den udfører de forud kompilerede SQL-sætninger |
Det er passende til udførelse af DDL-udsagn som CREATE, DROP, ALTER og TRUNCATE | Det er passende til udførelse af DML-udsagn som INSERT, UPDATE og DELETE |
Det kan ikke bruges til at gemme eller hente billede og fil i DB | Det kan bruges til at gemme eller hente billede og fil i DB |
Det håndhæver SQL Injection | Det forhindrer SQL Injection |
Foreslået læsning = >> JDBC PreparedStatement and Statement
Q # 11) Forklar forskellen mellem execute (), executeQuery () og executeUpdate ().
Svar:
executeQuery () | executeUpdate () | Udfør () |
---|---|---|
Det bruges til at udføre SQL-sætninger, der henter nogle data fra DB | Det bruges til at udføre SQL-sætningerne, der opdaterer eller ændrer dataene i DB | Det bruges til at udføre enhver form for SQL-sætninger |
Det returnerer resultSet-objektet | Det returnerer en heltalværdi, der repræsenterer nej. af berørte rækker | Det returnerer en boolsk værdi TRUE - returnerer et resultSet-objekt FALSE - returnerer en int-værdi eller intet |
Det bruges til kun at udføre SELECT Query | Det bruges til kun at udføre en ikke-SELECT-forespørgsel | Det bruges til at udføre både SELECT og ikke-SELECT forespørgsler |
Spørgsmål nr. 12) Hvordan kaldes lagrede procedurer i JDBC?
Svar: Vi kan udføre SQL Stored-procedurerne via CallableStatement-grænsefladen. Objektet CallableStatement kan oprettes ved hjælp af metoden prepareCall () i forbindelsesgrænsefladen.
Q # 13) Hvad er ResultSet-grænsefladen?
Svar: ResultSet-grænseflade bruges til at gemme outputdataene efter SQL-forespørgselens udførelse. Objektet med ResultSet opretholder markørpunktet ved resultatdataene. Som standard peger markøren foran den første række med resultatdataene. Vi kan også krydse dataene i resultatsætobjekterne.
hvordan man implementerer en hash-tabel i java
Syntaks:
Erklæringsgrænseflade:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
PreparedStatement-interface:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
Spørgsmål nr. 14) Hvad er typerne af ResultSet?
Svar: Der er 3 typer i ResultSet. Disse er:
implementering af boblesortering c ++
- TYPE_FORWARD_ONLY: Det er standardindstillingen. Markøren bevæger sig fra start til slut.
- TYPE_SCROLL_INSENSITIVE: I denne type bevæger markøren sig både fremad og bagud. Datasæt har dataene, når SQL-forespørgslen returnerer dataene.
- TYPE_SCROLL_SENSITIVE: Det er det samme som TYPE_SCROLL_INSENSITIVE, forskellen er, at det vil have de opdaterede data, mens det gentager resultatsættet.
Spørgsmål nr. 15) Hvad er samtidige tilstande i ResultSet?
Svar: Der er 2 forskellige tilstande for samtidighed i ResultSet. De er:
- ResultSet.CONCUR_READ_ONLY : Det er standardtilstanden samtidig. En skrivebeskyttet mulighed er tilgængelig. Opdatering er ikke mulig.
- ResultSet.CONCUR_UPDATABLE: Opdatering er mulig.
Spørgsmål nr. 16) Hvordan kontrolleres, om databasen understøtter samtidighedstilstand?
Svar: Vi har supportsResultSetConcurrency () -metoden, som vil blive brugt til at kontrollere, om den givne type og samtidige tilstande understøttes af databasen eller ej.
Q # 17) Kan vi hente dataene for den bestemte række fra resultatsættet?
Bemærk: ResultSet har dataene for et sæt rækker
Svar: Ja, vi kan hente dataene for den bestemte række fra resultSet ved hjælp af den relative () metode. Det vil flytte markøren til den givne række enten fremad eller bagud fra den aktuelle række. Hvis den positive værdi er givet, bevæger den sig fremad. Hvis den negative værdi er givet, bevæger den sig bagud.
Spørgsmål nr. 18) Hvad er brugen af getter- og settermetoderne i ResultSet?
Svar:
Getter metoder: Disse bruges til at hente værdierne for den bestemte kolonne i tabellen fra ResultSet. Enten kolonneindeksværdien eller kolonnenavn skal videregives som en parameter. Normalt repræsenterer vi getter-metoden som getXXX () -metoder.
Eksempel:
- int getInt (streng Column_Name): Det bruges til at hente værdien af den angivne kolonne Indeks og int-datatype som en returtype.
Setter Metoder: Vi kan indstille værdien i databasen ved hjælp af ResultSet setter-metoder. Det svarer til gettermetoder, men her skal vi videregive værdierne / dataene for den bestemte kolonne for at indsætte i databasen og indeksværdien eller kolonnenavnet for den pågældende kolonne. Normalt repræsenterer vi settermetoden som setXXX () -metoder.
Eksempel:
- ugyldigt setInt (int Column_Index, int Data_Value): Det bruges til at indsætte værdien for den angivne kolonne Indeks med en int-værdi.
Spørgsmål nr. 19) Hvad er hovedformålet med ResultSetMetaData-grænsefladen?
Svar: Denne grænseflade giver mere information om ResultSet. Hvert ResultatSet-objekt er blevet knyttet til et ResultSetMetaData-objekt.
Dette objekt vil have detaljerne om kolonnernes egenskaber som datatype for kolonnen, kolonnenavn, antallet af kolonner i den pågældende tabel, tabelnavn, skemanavn osv., GetMetaData () -metoden til ResultSet-objekt bruges til at oprette ResultSetMetaData-objekt.
Syntaks:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
Spørgsmål nr. 20) Hvad er DatabaseMetaData?
Svar: DatabaseMetaData-grænsefladen giver oplysninger om den database, vi bruger. Vi får følgende oplysninger - DatabaseName, Database version osv.
Spørgsmål nr. 21) Hvad er ACID-egenskab?
Svar:
- A – Atomicitet -> Hvis alle forespørgsler er udført med succes, bliver dataene forpligtet, ellers begår de ikke.
- C – Konsistens -> Data skal være ensartede efter enhver transaktion.
- I – Isolation -> Hver transaktion skal isoleres.
- D – holdbarhed -> Hvis transaktionen er begået en gang, skal den altid være tilgængelig (hvis der ikke er sket nogen ændringer)
Q # 22) Hvordan ændres værdien for auto-commit-tilstand?
Svar: Som standard er værdien af AutoCommit SAND. Efter udførelsen af SQL-erklæringen vil den blive begået automatisk. Ved hjælp af setAutoCommit () -metoden kan vi ændre værdien til AutoCommit.
Spørgsmål nr. 23) Hvad er brugen af Commit and Rollback-metoder?
Svar:
Commit () metode: Vi har metoden commit () i Java til at begå dataene. Når SQL-udførelsen er færdig, kan vi kalde commit-metoden.
Syntaks: connectionobj.commit ();
Tilbageførsel () metode: Vi har rollback () -metoden i Java til at tilbageføre dataene. Tilbagekaldelse betyder at fortryde ændringerne. Hvis nogen af SQL-sætningerne mislykkes, kan vi kalde tilbageføringsmetoden for at fortryde ændringerne.
Syntaks: connectionobj.rollback ();
Spørgsmål nr. 24) Hvad er savepoint, og hvad er de metoder, vi har i JDBC til savepoint?
Svar: Savepoint bruges til at oprette kontrolpunkter i en transaktion, og det giver os mulighed for at udføre en tilbagevenden til det specifikke savepoint. Når transaktionen er begået eller rullet backet, bliver det gemte punkt, der er oprettet for en transaktion, automatisk ødelagt og bliver ugyldigt.
Metoder til Savepoint:
- setSavepoint () metode: Det bruges til at oprette Savepoint, vi kan bruge rollback () -metoden til at fortryde alle ændringer indtil Savepoint.
- releaseSavepoint () metode: Det bruges til at fjerne det givne gemepunkt.
Q # 25) Angiv nogle undtagelser, der hører under SQLException?
Svar:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Klik her for mere information om ovenstående undtagelser.
Spørgsmål nr. 26) Hvad er batchbehandling, og hvordan gør man det i JDBC?
Svar: Batchbehandling er processen med at udføre flere SQL-sætninger i en transaktion. Dette vil reducere kommunikationstiden og øge ydeevnen. Det gør behandling af en stor mængde data meget lettere.
Fordele ved batchbehandling:
- Forbedre ydeevnen
- Datakonsistens
Sådan udføres batchbehandling:
Vi har addBatch () og executeBatch () metoder i Java til at udføre batch-behandling. Disse 2 metoder er til stede i klasserne Statement og PreparedStatement.
Spørgsmål nr. 27) Hvad er den lagrede procedure?
Svar: En gruppe SQL-forespørgsler, der udføres som en enkelt enhed for at udføre en bestemt opgave, kaldes en lagret procedure. Vi kan videregive 3 forskellige typer parametre. Hver procedure er repræsenteret med sit navn. Så navnet på proceduren skal være entydigt.
>> For mere information om den lagrede procedure henvises til denne link .
Spørgsmål nr. 28) Hvad er parametertyperne i lagrede procedurer?
Svar: Der er tre typer parametre tilgængelige i lagrede procedurer. De er:
- I: Bruges til at overføre inputværdierne til proceduren.
- UD: Bruges til at få værdien fra proceduren.
- IND UD: Bruges til at overføre inputværdierne og få værdien til / fra proceduren.
Konklusion
Dette er nogle JDBC-interviewspørgsmål, der dækker både grundlæggende og avancerede niveauer. Vi håber, at denne vejledning giver dig et overblik over JDBC. Forklaringerne, der er givet ovenfor, beriger din viden og øger din forståelse af JDBC. Alt det bedste!!!
Anbefalet læsning
- Java JDBC-forbindelsesvejledning med programmeringseksempel
- Java JDBC-transaktionsstyring med eksempel
- Java JDBC Tutorial: Hvad er JDBC (Java Database Connectivity)
- JDBC ResultSet: Sådan bruges Java ResultSet til at hente data
- Interviewspørgsmål og svar
- 25 bedste spørgsmål og svar til interview med Agile Testing
- ETL Testing Interview Spørgsmål og svar
- Top 25 Java Web Services Interview Spørgsmål og svar