- •Доступ до баз даних з Java
- •Завантаження та реєстрація jdbc-драйвера
- •Формування jdbc-url-рядка
- •Отримання екземпляра об’єкта класу Connection
- •Формування sql запиту
- •Виконання і обробка sql-запиту
- •Закриття одержаних з'єднань (ResultSet, Statament, Connection)
- •Попередньо відкомпільовані (підготовлені) запити
- •Пакетное выполнение sql запросов
- •Вызов хранимых процедур и функций
- •Замечание об исключениях
Доступ до баз даних з Java
Java надає доступ до даних за допомогою інтерфейсу JDBC. Даний інтерфейс за своєю суттю нагадує ODBC, більш того, в Win32 є шлюз JDBC-ODBC (хочу попередити відразу - коректно він працює в сімействі win9x, в nt він працює, але ... близько хвилини, потім GPF :-).
Пакет JDBC призначений для роботи з різноманітними диспетчерами СУБД від різних розробників. Для підключення до бази даних середовище виконання Java повинне завантажити відповідний драйвер вказаної бази даних. Завантаження і вивантаження таких драйверів здійснюється за допомогою класу DriverManager.
На малюнку показана схема підключення Java-програми до бази даних. Клас DriverManager має структуру даних, яка містить як самі драйвери у вигляді об'єктів Driver, так і інформацію про них.
Отже розглянемо кроки які необхідно зробити для того, щоб обробити SQL запит:
Завантаження та реєстрація JDBC-драйвер (на етапі ініціалізації додатку)
Сформувати JDBC-URL-рядок для отримання з'єднання з базою.
Одержати екземпляр об’єкта класу Connection
Сформувати SQL запит
Виконання і обробка SQL-запиту
Закрити одержані з'єднання (ResultSet, Statament, Connection)
Тепер розглянемо ці кроки детальніше на приклад роботи з MySql.
Завантаження та реєстрація jdbc-драйвера
Драйвери JDBC звичайно створюються постачальниками СУБД. Їх робота полягає в обробці JDBC-підключень і команд, що поступають від Java-додатку, і в генерації машинно-залежних викликів по відношенню до бази даних.
Далеко не всі постачальники СУБД пропонують драйвери JDBC, але як правило ними завжди поставляються драйвера ODBC (Open Database Connectivity), які задовольняють стандарту Microsoft. При роботі з СУБД на платформі Windows постачальник використовуваної СУБД майже завжди пропонує власний драйвер ODBC. По цьому проблем з підключенням Java-додатку до бази даних в середовищі Windows звичайно не виникає, чого, на жаль, не можна сказати про інші платформи.
Завантаження драйвера може здійснюватися як з програми, так і з командного рядка.
Для завантаження драйвера-моста JDBC-ODBC з командного рядка необхідно ввести наступну команду:
Java -Djdbc.drivers=sun.odbc.JdbcOdbcDriver MyApplication
При реєстрації драйвера-моста JDBC-ODBC з програми у Вас повинні бути:
JAR-файл з драйвером повинен бути підключений в CLASSPATH
Ви повинні знати назву класу-драйвера який ви збираєтеся підключати (цю інформацію шукайте на сайті виробника драйверів. Наприклад у файлі readme.txt. Якщо зовсім проблемно - розпакуйте .jar з драйверами і порийтеся в ньому - десь повинен бути клас Driver - а потім по вкладеності каталогів відновите назву пакету де він лежить).
JAR Ви підключили, тепер треба зареєструвати драйвер:
String driver=" sun.odbc.JdbcOdbcDriver";
try{
Class.forName(driver).newInstance();
DriverManager.registerDriver( (Driver)Class.forName(driver).newInstance());
} catch(Exception e)
{
System.out.println("Exception while register driver: "+e);
}