МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||
Використання класу ConnectionПлан Тема 15 Принципи та методи роботи з базами даних. Стандарт JDBC 1 Що таке JDBC? 2 Підключення до бази даних за допомогою JDBC 3 Робота із класом DriverManager 4 Завантаження драйверів 5 Використання класу Connection 6 Об’єкт Statement
1 Що таке JDBC? Як і всі Java API, JDBC є набором класів та інтерфейсів, в сукупності підтримуючий певний набір функцій. У випадку JDBC ці функції забезпечують доступ до бази даних. Класи й інтерфейси єабстракціями понять, загальних при доступі до баз даних будь-якого типу. Наприклад, Connection є інтерфейсом Java, що представляє з'єднання з базою даних. Аналогічно ResultSet представляє результуючий набір даних, що повертається командою SQL SELECT. Класи, що утворять JDBC API, перебувають у пакеті java.sql. Природно, що конкретні деталі доступу до бази даних залежать від її виробника. JDBC фактично не має справи із цими деталями. Більша частина класів у пакеті Java.sql є інтерфейсами без реалізації. Реалізація цих інтерфейсів здійснюється виробником бази даних у вигляді драйвера JDBC. Як програміст баз даних вам потрібно знати лише деяке продрайвер, який ви використовуєте, - все інше робиться через інтерфейси JDBC. Специфічна інформація про базу даних, що необхідна для використання JDBC, містить у собі: - URL для драйвера JDBC; - Ім'я класу, що реалізує java.sql.Driver. JNDI - Java Naming and Directory Interface (інтерфейс імен і каталогів Java) API. Він дозволяє запам'ятовувати об'єкти Java у службі імен і каталогів, такий як сервер Lightweight Directory Access Protocol (полегшений протокол доступу до каталогів - LDAP), і знаходити їх по імені.
2 Підключення до бази даних за допомогою JDBC Підключення Java-програми до реляційної СКБД за допомогою JDBC виконується в три етапи: - встановлення зв'язку між Java-програмою й диспетчером бази даних; - передача SQL-команди в базу даних за допомогою об'єкта Statement; - зчитування отриманих результатів з бази даних і використання їх у програмі. Розглянемо ці три етапи. 3 Робота із класом DriverManager Пакет JDBC призначений для роботи з різноманітними диспетчерами СКБД від різних розроблювачів. Для підключення до бази даних середовище виконання Java повинна завантажити відповідний драйвер зазначеної бази даних. Завантаження й вивантаження таких драйверів здійснюється за допомогою класу DriverManager.
Рисунок 15.1 - Алгоритм підключення
На цьому рисунку показана схема підключення Java-програми до бази даних. Клас DriverManager має структуру даних, що містить як самі драйвери у вигляді об'єктів Driver, так і інформацію про них. 4 Завантаження драйверів Драйвери JDBC звичайно створюються постачальниками СКБД. Їхня робота полягає в обробці JDBC-підключень і команд, що надходять від Java-додатка, і в генерації машинно-залежних викликів стосовно бази даних. Далеко не всі постачальники СКБД пропонують драйвери JDBC, але як правило ними завжди поставляються драйвера ODBC (Open Database Connectivity), які задовольняють стандарти Microsoft. При роботі із СКБД на платформі Windows постачальник використовуваної СКБД майже завжди пропонує власний драйвер ODBC. По цьомуе проблем з підключенням Java-додатка до бази даних в середовищі Windows звичайно не виникає, чого, на жаль, не можна сказати про інші платформи. Попереднє завантаження драйвера Завантаження драйвера може вироблятися як із програми, так і з командного рядка. Для завантаження драйвера-мосту JDBC-ODBC з командного рядка необхідно ввести наступну команду:
Java -Djdbc.drivers=sun.odbc.JdbcOdbcDriver MyApplication Для завантаження драйвера-мосту JDBC-ODBC із програми: try { Class theDriver = sun.odbc.JdbcOdbcDriver.class; } catch(ClassNotFoundException e) { System.err.println("Драйвер JDBC/ODBC не знайдений"); } Після реєстрації драйвера за допомогою диспетчера драйверів його можна застосовувати для підключення до бази даних. Для цього диспетчеру варто повідомити про створення нового підключення. У відповідь на це диспетчер драйверів викличе відповідний драйвер і поверне посилання на встановлене підключення. Для створення підключення необхідно вказати місце розташування бази даних, а також (як правило для більшості баз даних) облікове ім'я й пароль, як показано нижче.
Connection myConnection = DriverManager.getConnection( "jdbc:odbc:mydataSource", "username", "password");
Після одержання запиту getConnection() диспетчер драйверів аналізує значення адреси URL для JDBC і, у свою чергу, передає його кожному зареєстрованому драйверу. Потім підключення буде встановлено за допомогою того драйвера, що першим пізнає дану адресу URL для JDBC і повідомить про готовність до підключення. Якщо жоден із драйверів не зможе розпізнати URL для JDBC, диспетчер драйверів ініціює обробку виняткової ситуації SQLException з видачею повідомлення про відсутність підходящого драйвера (No suitable driver). 6 Об'єкт Statement Об'єкт Statement призначений для зберігання SQL-команд. При пересиланні об'єкта Statement базі даних за допомогою встановленого підключення,СКБД запустить задану SQL-команду й поверне результат її виконання у вигляді об'єкта ResultSet. Для «добування» результатів запиту у вигляді об'єкта ResultSet можна використати такий код:
ResultSet theSet = theStatement.executeQuery("SELECT * FROM *");
або
ResultSet theSet; if(theStatement.execute("SELECT * FROM *")) theSet = theStatement.getResultSet();
Читайте також:
|
||||||||
|