русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Тема 16 Робота з локальним файлом бази даних


Дата додавання: 2014-05-29; переглядів: 940.


План

1 Підтримка переносимості за допомогою файлів властивостей

2 Обробка помилок і звільнення ресурсів

 

1 Підтримка переносимості за допомогою файлів властивостей

Хоча наша увага зосереджена на двох конкретних базах даних, гарною практикою програмування на Java є забезпечення повної переносимості додатків. Під переносимостю звичайно мається на увазі, що ви не пишете код, призначений для виконання тільки на якійсь одній платформі. Однак для Java термін «переносимість» має більш сильний зміст. Воно означає незалежність від апаратних ресурсів і незалежність від бази даних.

Ми сказали про те, що JDBC URL та ім'я Driver залежать від реалізації, але не сказали, як уникнути їхнього включення в код. Оскільки й те, і інше являє собою прості рядки, їх можна передати як параметри командного рядка або як параметри апплетів. Це робоче, але навряд чи елегантне рішення, оскільки воно вимагає, щоб користувач пам'ятав довгі командні рядки. Аналогічне рішення - видавати користувачеві запрошення для введення цих даних, що знов-таки вимагає, щоб користувач згадував JDBC URL і ім'я класу Java при кожному запуску додатка.

Більш витончене рішення виходить при використанні файлу властивостей. Файли властивостей підтримуються класом java.util.Resource-Bundle і його підкласами, дозволяючи додатку витягати дані з текстового файлу. Для додатка, що використовує JDBC, можна вставити у файл властивостей URL і ім'я Driver, поклавши на адміністратора додатка обов'язок вказати деталі з'єднання.Приклад файлу SelectResource.properties

 

Driver=com.imaginary.sql.msql.MsqlDriver

URL=jdbc:msql://athens.imaginary.com:1114/db_test

У прикладі 14-3 показаний стерпний клас Connection.

 

Приклад програми:

 

import java.sql.*; import java.util.*;

public class Connect {

public static void main(String argv[]) {

Connection con = null;

ResourceBundle bundle = ResourceBundle.getBundle("SelectResource");

try {

String url = bundle.getString("URL");

Statement stmt; ResultSet rs;

Class.forName(bundle.getString("Driver")); // тут здійснюється з'єднання

con = DriverManager.getConnection(url, "borg", ""); }

catch( SQLException e ) { e. printStackTrace();

}

finally

{

if( con != null )

{

try { con.close(); }

catch( Exception e ) { }

}

}

}

}

2 Обробка помилок і звільнення ресурсів

Всі методи JDBC можуть породжувати SQLException або один з підкласів цього класу, якщо щось відбувається при звертанні до бази даних. Ваш код повинен вміти перехоплювати виняткову ситуацію, обробляти її й звільняти всі розміщені в пам'яті ресурси бази даних. Всі перераховані дотепер класи JDBC мають метод close(). Однак на практиці ви повинні забезпечити закриття тільки тих об'єктів, які викликані процесами, що продовжують залишатися відкритими. У наведених прикладах було потрібно закрити тільки з'єднання з базою даних. При закритті з'єднання автоматично закриваються всі пов'язані з ним команди й результуючі набори. Однак якщо ви маєте намір зберегти з'єднання відкритим протягом деякого часу, буде правильним поспішити закрити всі об'єкти statement, які ви створили з використанням цього з'єднання, коли вони вам більше не потрібні. В прикладах JDBC, які ви бачили, це звільнення ресурсів виконується в блоці finally. Це робиться для того, щоб забезпечити закриття з'єднання незалежно від того, що відбудеться.


 


<== попередня лекція | наступна лекція ==>
Тема 15 Принципи та методи роботи з базами даних. Стандарт JDBC | Тема 17 Підключення до бази даних по мережі


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн