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