- •Лабораторна робота №1 Використання jdbc
- •Мета роботи:
- •1.2 Короткі теоретичні відомості
- •Інтерфейс java.Sql.Connection
- •Інтерфейс java.Sql.Statement
- •Інтерфейс java.Sql.PreparedStatement
- •Пакетне виконання sql запитів
- •Інтерфейс java.Sql.CallableStatement
- •Інтерфейс java.Sql.ResultSet
- •Інтерфейс javax.Sql.RowSet
- •Закриття об'єктів
- •Результати виконання лабораторної роботи у вигляді текстів методів main та результатів виконання запитів.
- •Результати виконання завдання для самостійної роботи у вигляді копій екранів для різних режимів роботи.
- •. Висновки
Виконав студент групи ЗКІт-151 Тишкевич Олександр Володимирович
Лабораторна робота №1 Використання jdbc
Мета роботи:
- ознайомитися із засобами Java, що використовуються для підключення до реляційних баз даних;
- навчитися виконувати JDBC запити на створення бази даних, модифікацію даних, та запити на отримання інформації з бази.
- створити додаток для роботи з базою даних.
1.2 Короткі теоретичні відомості
JDBC (Java DateBase Connectivity) – це сукупність класів та інтерфейсів, що визначають правила доступу до систем управління реляційними базами даних (СУБД) із Java-програм, використовуючи SQL.
JDBC фактично має дві складові.
Перша складова – це класи та інтерфейси пакету java.sql, що визначають інтерфейс роботи з базою даних і використовуються розробниками застосунків.
Друга складова (нижчого рівня)– це інтерфейси для розробників драйверів, які забезпечують зв’язок з базою даних.
Драйвер JDBC – це сукупність класів, щореалізують інтерфейс JDBC та забезпечують зв’язок з базою даних. Але слід розуміти, що постачальники драйверів не завжди повністю реалізують вимоги інтерфейсів JDBC.
Для встановлення драйвера JDBC, як правило, потрібно скопіюватиjar-файл з класами драйвера на комп'ютері додати шлях до розташування цього файлу у ClassPathабо BuildPath. Крім того, драйвери перших трьох типів вимагаютьвстановлення на стороні клієнта додаткового API.
JDBC драйвери для Derby, MySQL та PostgreSQL додаткового API не потребують.
Драйвери СУБД JavaDB(Derby) поставляються з інсталяцією СУБД. Драйвер для роботи у режимі embeded знаходяться у jar-файлі, що має назву lib.derby.jar. Для роботи з окремим сервером використовується драйвер, що знаходиться у файлі lib.derbyclient.jar.
Драйвер для MySQL входить до складу інсталяційного пакетуСУБД, але знаходиться у окремому jar-файлі, що має назву на зразок такої: mysql-connector-java-5.1.36-bin.jar та міститься у папці Connector.J... .
Драйвер для PostgreSQL до стандартного інсталяційного пакету не входить, але може бути отриманий з Інтернет мережі. Файл може мати назву postgresql-9.4-1201.jdbc41.jar.
Якщо шлях до драйверу вказано правильно, то DriverManager після виклику методу getConnection знайде його і завантажить.
Клас DriverManager використовується для з’єднання додатку з базою даних шляхом виклику одного із статичних методівgetConnection,причому способи формування параметрів деяких з цих методів залежать від СУБД, з якою встановлюється зв’язок. Через параметри цих методів передається інформація про СУБД, що використовується, адреса бази даних та інша службова інформація.
Найбільш універсальним є метод з такою сигнатурою:
getConnection(String url, java.util.Properties info)
Першим параметром цього методу є рядок url, який надає інформацію про базу даних, її розташування, спосіб підключення та засоби її обслуговування.
У разі використання JDBC-драйвера для підключення до бази даних url має такий вигляд:
jdbc:<ім’я драйвера>:[//<хост>[:<порт>/]]<ім’я БД>
Наприклад, для підключення до бази даних dbfpo, яка знаходитьсяза інтернет-адресою dec-fpo.fsay.net і обслуговується СУБД MySQL, URL буде мати такий вигляд:
String url = ”jdbc:mysql:// dec-fpo.fsay.net:3306/dbfpo”;
Якщо ж база даних bibl обслуговується сервером PostgreSQL, якийвстановлено на комп'ютері клієнта, то URL буде мати такий вигляд:
String url = ”jdbc:postgresql://localhost:5432/bibl”
У випадку, коли база myderbydb обслуговується СУБД DERBY у режимі EMBEDED, URL буде мати такий вигляд:
String url = “jdbc: derby: myderbydb”;
Другий параметр методу getConnection, що розглядається, являє собою асоціативний масив типу Properties, який може містити різноманітну інформацію. Кожна окрема властивість заноситься у масив, як пара ключ-значення. Слід мати на увазі, що переліки властивостей для різних СУБД відрізняються, а однакові властивості можуть мати різні ключи.
Наприклад, щоб для СУБД Derby задати ім’я користувача, пароль та вказівку на створення бази у разі її відсутності, пишемо такий код:
Properties prop = new Properties();
prop.setProperty("user", user);
prop.setProperty("password", pass);
prop.setProperty("create", "true");
де user та pass – це рядки символів, що задають ім’я та пароль.
Такі самі налаштування для СУБД MySQL будуть виглядати так:
Properties prop = new Properties();
prop.setProperty("user", user);
prop.setProperty("password", pass);
prop.setProperty("createDatabaseIfNotExist", "true");
А для PostgreSQL ключ для передачі останнього параметру взагалі відсутній.
Після того, як визначені URL та Properties можна встановити з'єднання з базою даних:
Виконуючи метод getConnection, DriverManagerнамагається знайти потрібний драйвер і базу даних. Якщо пошук завершується успішно і з’єднання встановлено, DriverManager повертає об’єкт типу Connection. Зі створенням об’єкту типу Connection починається сеанс зв’язку з базою даних (сесія).
