1   2   3   4   5   6   7
Ім'я файлу: 2 diplom - гаврилов.doc
Розширення: doc
Розмір: 1001кб.
Дата: 28.11.2021
скачати
Пов'язані файли:
магіст-Данещук-фініш-АПДЕЙТ.docx

2.3 Специфіка використання MySQL


Підключення Java-програми до реляційної СУБД MySQL здійснюється за допомогою «JDBC».

Java DataBase Connectivity (JDBC) — Java API, яке визначає методи, з допомогою яких програмне забезпечення на Java здійснює доступ до бази даних.

JDBC — платформо-незалежний промисловий стандарт взаємодії Java-додатків з різноманітними СУБД, реалізований у вигляді пакета java.sql, що входить до складу Java SE.

В основі JDBC лежить концепція так званих драйверів, що дозволяють отримувати з'єднання з базою даних по спеціально описанному URL. Драйвери можуть завантажуватись динамічно (під час роботи програми). Завантажившись, драйвер сам реєструє себе й викликається автоматично, коли програма вимагає URL, що містить протокол, за який драйвер «відповідає».

Перевагами JDBC вважаються:

  • Легкіть розробки: розробник може не знати специфіки бази даних, з якою працює;

  • Код не змінюється, якщо компанія переходить на іншу базу даних;

  • Не треба встановлювати громіздку клієнтську програму;

  • До будь-якої бази можна під'єднатись через легко описуваний URL.


З’єднання з MySQL виконується в три етапи:

  • Установка зв'язку між Java -программой і диспетчером бази даних.

  • Передача SQL -команды у базу даних за допомогою об'єкту Statement.

  • Читання отриманих результатів з бази даних і використання їх в програмі.



Робота з класом DriverManager

Пакет JDBC призначений для роботи з різноманітними диспетчерами СУБД від різних розробників. Для підключення до бази даних середовище виконання Java повинне завантажити відповідний драйвер вказаної бази даних. Завантаження і вивантаження таких драйверів здійснюється за допомогою класу DriverManager.



Рис. 4

На малюнку (Рис.4) показана схема підключення Java -программы до бази даних. Клас DriverManager має структуру даних, яка містить як самі драйвери у вигляді об'єктів Driver, так і інформацію про них.
Завантаження драйверів

Драйвери 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 не знайден");

}

Використання класу Connection
Після реєстрації драйвера за допомогою диспетчера драйверів його можна застосовувати для підключення до бази даних. Для цього диспетчерові слід повідомити про створення нового підключення. У відповідь на це диспетчер драйверів викличе відповідний драйвер і поверне посилання на встановлене підключення. Для створення підключення необхідно вказати місце розташування бази даних, а також (як правило для більшості баз даних) облікове ім'я і пароль, як показано нижче.

Connection myConnection = DriverManager.getConnection(

" jdbc:mysql:mydataSource",

"username",

"password");
Об'єкт Statement

Об'єкт Statement призначений для зберігання SQL-команд. При пересилці об'єкту Statement базі даних за допомогою встановленого підключення СУБД запустить задану SQL-команду і поверне результат її виконання у вигляді об'єкту ResultSet. Методи об'єкту statement полягають усередині конструкції try{…} catch.

Для витягання результатів запиту у вигляді об'єкту ResultSet слід використовувати код:

ResultSet theSet = theStatement.executeQuery("SELECT * FROM *");

або

ResultSet theSet;

if(theStatement.execute("SELECT * FROM *"))

theSet = theStatement.getResultSet();

1   2   3   4   5   6   7

скачати

© Усі права захищені
написати до нас