top 25 jdbc interview questions
Този урок предоставя често задавани въпроси и отговори на интервю за JDBC с обяснения, за да ви помогне да се подготвите за интервюто:
В Партидна обработка на JDBC и съхранена процедура урок на JDBC серия уроци , научихме методи за групова обработка в Java с помощта на JDBC драйвер, а също така се научихме да създаваме съхранени процедури и да го извикваме от Java програма.
JDBC е често използваната кратка форма за Java Database Connectivity. Използвайки JDBC, можем да взаимодействаме с различни видове релационни бази данни като Oracle, MySQL, MS Access и др.
Тази статия ще ви помогне да пробиете интервюто за JDBC. Тук обяснихме всички важни JDBC концепции.
Често задавани въпроси за интервю за JDBC
В # 1) Какво е JDBC?
Отговор: Java Database Connectivity е неофициално известен като JDBC. Използва се за извършване на DB операции в база данни от Java приложение. Той поддържа взаимодействие с всякакъв вид DB като Oracle, MySQL, MS Access и др.
В # 2) Каква е ползата от JDBC драйвера?
Отговор: Това е софтуерен компонент и се използва, за да направи приложението Java да взаимодейства с базата данни.
В # 3) Какви са различните видове драйвери в JDBC?
Отговор: На пазара има 4 различни JDBC драйвера.
Те са:
- Тип I: JDBC - ODBC мост
- Тип II: Native API - половин Java драйвер
- Тип III: Мрежов протокол - напълно Java драйвер
- Тип IV: Тънък драйвер - Напълно Java драйвер
Тип I: JDBC-ODBC мост
JDBC-ODBC мостът ще се държи като интерфейс между клиента и DB сървъра. Клиентът трябва да постави JDBC-ODBC драйвер в него. Базата данни трябва да поддържа ODBC драйвер. Ако не сме загрижени за инсталирането на драйвера в клиентската система, ще използваме този драйвер.
Тип II: Роден API: Половин Java драйвер
Почти е като драйвер на JDBC-ODBC. Вместо ODBC драйвер, тук използваме собствен API. Използват се библиотеки на клиентската база данни.
Тип III: Мрежов протокол
Той работи като тристепенен подход за достъп до базата данни. За свързване с DB ще се използва междинен сървър. Извикванията на метода JDBC изпращат данни към междинен сървър, след което сървърът ще комуникира с DB.
Тип IV: Тънък драйвер
Абсолютно е написано на Java. Той изрично преобразува извикванията на метода JDBC в специфичен за производителя протокол за база данни. В днешно време самият търговец на бази данни предоставя този тип драйвер за своите клиенти. Така че програмистите не разчитат на други източници. Той дава по-висока производителност от останалите драйвери.
Q # 4) Кой тип JDBC драйвер се използва от повечето хора?
Отговор: Тънък драйвер от тип IV се използва в повечето приложения. Той е разработен от самия доставчик на база данни, така че разработчиците могат да го използват директно, без да зависят от други източници. Позволява лесно и лесно развитие. Той дава по-висока производителност от останалите драйвери.
В # 5) Какви са видовете JDBC архитектура?
Отговор: JDBC поддържа 2 вида модели за обработка за достъп до DB.
Те са:
- Двустепенна архитектура: Тук Java програмите изрично се свързват с DB. Не се нуждаем от посредник като сървър за приложения, за да се свържем с DB, освен JDBC драйвер. Известна е също като архитектура клиент-сървър.
- Тристепенна архитектура: Това е напълно обратно на двустепенната архитектура. Няма да има изрична комуникация между JDBC драйвер или програма Java и база данни. Като посредник между тях се използва сървър на приложения. Програмата Java ще изпрати заявката до сървър на приложения, а сървърът ще я изпрати и ще получи отговора към / от DB.
В # 6) Какви са компонентите на JDBC?
Отговор: В JDBC има 4 основни компонента.
Те са:
- JDBC API
- JDBC Driver Manager
- JDBC тестов пакет
- JDBC - ODBC мост
В # 7) Какви са стъпките за свързване с JDBC?
Отговор: Има 6 основни стъпки за свързване с DB в Java. Те са включени по-долу:
- Импортиране на пакет
- Заредете драйвер
- Установете връзка
- Създаване и изпълнение на изявлението
- Извличане на резултатите
- Затворете връзката
В # 8) Кои типове данни се използват за съхраняване на изображението и файла в таблицата на базата данни?
Отговор:
- BLOB тип данни се използва за съхраняване на изображението в DB. Можем да съхраняваме видео и аудио, както и в типа данни BLOB. Използва се за съхраняване на двоичен тип данни.
- CLOB тип данни се използва за съхраняване на файла в DB. Използва се за съхраняване на типа знаци на данни.
В # 9) Какво представлява DriverManager в JDBC?
Отговор: DriverManager е вграден клас, който присъства в пакета java.sql. Той ще се използва като посредник между Java приложението и DB, което свързваме / използваме в нашия код. Като първа стъпка трябва да регистрираме или заредим драйвера с DriverManager. Тогава драйверът ще бъде достъпен за използване в приложението.
Основната функция на DriverManager е да зареди класа на драйвера на базата данни и да създаде връзка с DB.
Има 2 начина за регистриране или зареждане на драйвера:
- Class.forName ()
- DriverManager.registerDriver ()
В # 10) Каква е разликата между интерфейсите Statement и PreparedStatement.
Отговор: Таблицата по-долу обяснява разликите:
ИЗЯВЛЕНИЕ | ИЗГОТВЕНО ИЗЯВЛЕНИЕ |
---|---|
Той ще се използва главно за изпълнение на статични SQL изрази | Той ще се използва главно за изпълнение на предварително компилирани SQL изрази |
Той няма да приема параметри по време на изпълнение | Той ще приема различни параметри по време на изпълнение |
Ефективността му е по-малка в сравнение с подготвенатаСъобщение | Неговата производителност е по-висока от Statement, тъй като изпълнява предварително компилираните SQL изрази |
Подходящо е за изпълнение на DDL изрази като CREATE, DROP, ALTER и TRUNCATE | Подходящо е за изпълнение на DML изрази като INSERT, UPDATE и DELETE |
Не може да се използва за съхраняване или извличане на изображение и файл в DB | Може да се използва за съхраняване или извличане на изображение и файл в DB |
Той налага SQL Injection | Той предотвратява SQL Injection |
Предложено четене = >> JDBC подготвено изявление и изявление
Q # 11) Обяснете разликата между execute (), executeQuery () и executeUpdate ().
Отговор:
executeQuery () | executeUpdate () | Изпълни() |
---|---|---|
Използва се за изпълнение на SQL изрази, които извличат някои данни от DB | Използва се за изпълнение на SQL изрази, които ще актуализират или модифицират данните в DB | Използва се за изпълнение на всякакъв вид SQL изрази |
Връща обекта resultSet | Връща целочислена стойност, която представлява не. от засегнатите редове | Той връща булева стойност TRUE - връща обект resultSet FALSE - връща стойност int или нищо |
Използва се за изпълнение само на заявка SELECT | Използва се за изпълнение само на заявка, която не е SELECT | Използва се за изпълнение както на SELECT, така и на не-SELECT заявки |
В # 12) Как да се обадя на съхранени процедури в JDBC?
Отговор: Можем да изпълним SQL съхранените процедури чрез интерфейса CallableStatement. Обектът CallableStatement може да бъде създаден с помощта на метода prepaCall () на интерфейса Connection.
Q # 13) Какво представлява интерфейсът ResultSet?
Отговор: Интерфейсът ResultSet се използва за съхраняване на изходните данни след изпълнението на SQL заявката. Обектът на ResultSet поддържа точката на курсора върху данните за резултата. По подразбиране курсорът сочи преди първия ред от данните за резултатите. Можем да прехвърляме данните и в обектите с резултати.
как да отворите двоичен файл в Windows
Синтаксис:
Интерфейс на изявлението:
Statement stmnt1 = conn.createStatement(); ResultSet resultset = stmnt1.executeQuery(“Select * from EMPLOYEE”);
Интерфейс на подготвената декларация:
PreparedStatement pstmnt1 = conn.prepareStatement(insert_query); ResultSet resultset = pstmnt1.executeQuery(“Select * from EMPLOYEE”);
В # 14) Какви са типовете ResultSet?
Отговор: Има 3 вида в ResultSet. Това са:
конвертирате youtube в mp4 високо качество
- TYPE_FORWARD_ONLY: Това е опцията по подразбиране. Курсорът ще се движи от началото до края.
- TYPE_SCROLL_INSENSITIVE: При този тип курсорът ще се движи както в посока напред, така и назад. Данните имат данни, когато SQL заявката връща данните.
- TYPE_SCROLL_SENSITIVE: Той е същият като TYPE_SCROLL_INSENSITIVE, разликата е, че той ще има актуализираните данни, докато итерира обекта на резултатите.
В # 15) Какви са паралелните режими в ResultSet?
Отговор: Има 2 различни режима на паралелност в ResultSet. Те са:
- Резултат.CONCUR_READ_ONLY : Това е режимът на съвпадение по подразбиране. Предлага се опция само за четене. Актуализация не е възможна.
- ResultSet.CONCUR_UPDATABLE: Актуализация е възможна.
В # 16) Как да проверите дали базата данни поддържа режим на паралелност?
Отговор: Разполагаме с метода supportResultSetConcurrency (), който ще се използва за проверка дали даден тип и паралелни режими се поддържат от базата данни или не.
Q # 17) Можем ли да получим данните за конкретния ред от резултата?
Забележка: ResultSet съдържа данните за набор от редове
Отговор: Да, можем да получим данните за конкретния ред от resultSet, като използваме метода relative (). Той ще премести курсора към дадения ред в посока напред или назад от текущия ред. Ако е дадена положителната стойност, тя ще се движи в посока напред. Ако е дадена отрицателната стойност, тя ще се движи в обратна посока.
В # 18) Каква е ползата от методите getter и setter в ResultSet?
Отговор:
Методи за получаване: Те се използват за извличане на стойностите на конкретната колона на таблицата от ResultSet. Като стойност трябва да се предаде или стойността на индекса на колоната, или името на колоната. Обикновено ние ще представяме метода getter като методите getXXX ().
Пример:
- int getInt (низ Column_Name): Използва се за извличане на стойността на посочената колона Index и int тип данни като тип на връщане.
Методи на сетера: Можем да зададем стойността в базата данни, използвайки методи за задаване на ResultSet. Подобно е на методите за получаване, но тук трябва да предадем стойностите / данните за конкретната колона, които да вмъкнем в базата данни и стойността на индекса или името на колоната на тази колона. Обикновено ние ще представяме метода на setter като методите setXXX ().
Пример:
- void setInt (int Column_Index, int Data_Value): Използва се за вмъкване на стойността на посочената колона Index с int стойност.
В # 19) Каква е основната цел на интерфейса ResultSetMetaData?
Отговор: Този интерфейс дава повече информация за ResultSet. Всеки ResultSet обект е свързан с един ResultSetMetaData обект.
Този обект ще има подробности за свойствата на колоните като тип данни на колоната, име на колона, брой колони в тази таблица, име на таблица, име на схема и т.н., методът getMetaData () на ResultSet обект се използва за създаване на ResultSetMetaData обект.
Синтаксис:
PreparedStatement pstmntobj = conn.prepareStatement(insert_query); ResultSet resultsetobj = pstmntobj.executeQuery(“Select * from EMPLOYEE”); ResultSetMetaData rsmd obj= resultsetobj.getMetaData();
В # 20) Какво е DatabaseMetaData?
Отговор: Интерфейсът DatabaseMetaData дава информация за базата данни, която използваме. Ще получим следната информация - Име на базата данни, версия на базата данни и т.н.
В # 21) Какво е ACID свойството?
Отговор:
- A – Атомност -> Ако всички заявки са изпълнени успешно, тогава данните ще бъдат ангажирани, иначе няма да бъдат ангажирани.
- C – Последователност -> Данните трябва да са последователни след всяка транзакция.
- I – Изолация -> Всяка транзакция трябва да бъде изолирана.
- D – Трайност -> Ако транзакцията е извършена веднъж, тя трябва да е достъпна винаги (ако не са настъпили промени)
В # 22) Как да променя стойността на режима за автоматично фиксиране?
Отговор: По подразбиране стойността на AutoCommit е TRUE. След изпълнението на SQL израза, той ще бъде ангажиран автоматично. Използвайки метода setAutoCommit (), можем да променим стойността на AutoCommit.
В # 23) Каква е ползата от методите за ангажиране и връщане назад?
Отговор:
Метод commit (): Имаме метод commit () в Java, за да ангажираме данните. След като приключи изпълнението на SQL, можем да извикаме метода за фиксиране.
Синтаксис: connectionobj.commit ();
Метод на връщане (): Имаме метода rollback () в Java за връщане на данните. Отмяна означава да отмените промените. Ако някой от SQL изразите е неуспешен, можем да извикаме метода на връщане назад, за да отменим промените.
Синтаксис: connectionobj.rollback ();
В # 24) Какво е savepoint и какви са методите, които имаме в JDBC за savepoint?
Отговор: Savepoint се използва за създаване на контролни точки в транзакция и ни позволява да извършим връщане към конкретната точка за запис. След като транзакцията бъде ангажирана или подсигурена, точката на запис, която е създадена за транзакция, ще бъде автоматично унищожена и става невалидна.
Методи за Savepoint:
- метод setSavepoint (): Използва се за създаване на Savepoint, можем да използваме метода rollback (), за да отменим всички промени до точката на запазване.
- метод на releaseSavepoint (): Използва се за премахване на дадената точка за запис.
В # 25) Избройте някои изключения, които попадат под SQLException?
Отговор:
- SQLNonTransientException
- SQLTransientException
- SQLRecoverableException
>> Щракнете тук за повече информация относно горните изключения.
В # 26) Какво представлява пакетната обработка и как да се направи в JDBC?
Отговор: Пакетната обработка е процес на изпълнение на няколко SQL израза в една транзакция. Това ще намали времето за комуникация и ще увеличи производителността. Това прави обработката на голямо количество данни много по-лесна.
Предимства на груповата обработка:
- Подобряване на производителността
- Последователност на данните
Как да извършите групова обработка:
Разполагаме с методите addBatch () и executeBatch () в Java за извършване на групова обработка. Тези 2 метода присъстват в класовете Statement и PreparedStatement.
В # 27) Каква е съхранената процедура?
Отговор: Група SQL заявки, които се изпълняват като единица за изпълнение на определена задача, е известна като Съхранена процедура. Можем да предадем 3 различни типа параметри. Всяка процедура е представена с нейното име. Така че името на процедурата трябва да е уникално.
>> За повече информация относно съхранената процедура вижте това връзка .
В # 28) Какви са типовете параметри в съхранените процедури?
Отговор: В съхранените процедури има три типа параметри. Те са:
- IN: Използва се за предаване на входните стойности на процедурата.
- ВЪН: Използва се за получаване на стойността от процедурата.
- ВХОД / ИЗХОД: Използва се за предаване на входните стойности и получаване на стойността към / от процедурата.
Заключение
Това са някои въпроси за интервю за JDBC, които обхващат както основното, така и напредналото ниво. Надяваме се, че този урок ще ви даде преглед на JDBC. Обясненията, които са дадени по-горе, ще обогатят вашите знания и ще увеличат вашето разбиране за JDBC. Всичко най-хубаво!!!
Препоръчително четене
- Урок за свързване на Java JDBC с пример за програмиране
- Управление на транзакции на Java JDBC с пример
- Урок за Java JDBC: Какво е JDBC (свързаност с база данни на Java)
- JDBC ResultSet: Как да използвам Java ResultSet за извличане на данни
- Въпроси и отговори за интервюта
- 25 най-добри пъргави тестови интервюта Въпроси и отговори
- Въпроси и отговори за интервю за ETL тестване
- Топ 25 Въпроси и отговори за интервю за уеб услуги в Java