Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
90-99.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
100.35 Кб
Скачать
  1. Драйвера, соединения и запросы.

JDBC – это станд. прикл. интерфейс (API) языка Java для организации вз-я между приложением и СУБД. Это вз-е осущ-ся с пом драйверов JDBC, обеспечивающ реализацию общих интерфейсов для конкретных СУБД и конкр протоколов. В JDBC определяются четыре типа драйверов:

1. Тип1–драйвер,использующ др прикл интерфейс, в частн ODBC,для работы с СУБД(т.н. JDBC-ODBCмост).Станд драйвер типа1 sun.jdbc.odbc.JdbcOdbcDriver входит в JSDK.

2.  Тип2 − драйвер, работающий через нативные библиотеки (т.е. клиента) СУБД.

3.  Тип3 – драйвер, работающ по сетев и независ от СУБД  протоколу с промежуточн java-сервером, кот в св очер  подкл-ся к нужн СУБД.

4.   Тип4 – сетев драйвер, работающ напрям с нужн СУБД и не  требующ установки native-библиотек.

Приложение, работающее с БД, работает по следующей обычной послед-ти действий:

1. Загрузка класса драйвера БД при отсутствии экземпляра этого класса.

ДляСУБДMySQL:String driverName=”org.gjt.mm.mysql.Driver”;

ДляСУБДMsAccess:String driverName=”sun.jdbc.odbc.JdbcOdbcDriver ”;

После этого вып-ся загрузка драйвера в память:Class.forName(driverName);и ст-ся возм соед-е с СУБД.

2. Установка соединения с БД в виде:Connection cn=DriverManager.getConnection (“jdbc:mysql://localhost/mydb”,”login”,”pass”);

Или Connection cn=DriverManager.getConnection (“jdbc:odbc:Konditerskaya”);

В рез будет возвращен объект Connection и будет установлено соединение с соответствующей БД.

Класс DriverManager предоставл ср-ва для упр-я набором драйверов бд.Методу getConnection() необх передать тип и физич местораспол БД,а также логин и пароль для доступа. С пом registerDriver() драйвера рег-ся.

3. Создание объекта для передачи запросов: Statement st=cn.createStatement();

Могут прим-ся также операторы для выполнения подготовл запросов и хранимых процедур PreparedStatement и CallableStatement. Созданн объект можно исп-ть для выполнения запроса.

4. Выполнение запроса.Рез-ты вып-я запроса пом-ся в объект класса ResultSet:

ResutSet rs=st.executeQuery(“SELCT * FROM mytable”);

Для добавл-я или изм-я информ в таблице вместо executeQuery() запрос пом-ся в executeUpdate().

5. Обработка рез-в вып-я запроса произв-ся методами интерфейса ResultSet, где сам распростр являются next() и getString()…При первом вызове метода next() ук-ль перем-ся на таблицу рез-в выборки в позицию перв строки таблицы ответа. Когда строки зак-ся, метод возвр false.

6. Закрытие соединения cn.close();

91.DriverManager.

Драйверы бд JDBC определены классами, кот реализуют интер­фейс Driver. Класс DriverManager отвеч за установл-е соед-ий с ис­точн д-х. Если какой-либо драйв JDBC идентифицирован в сист св-ве " jdbc . drivers" на компе, то DriverManager буд пыт загруз его при св загрузке.

Сист св-ва в действит хр-ся в объекте Properties. Следует задать необх пары ключ/знач-е для объекта Properties. Можно задать сист св-во "jdbc.drivers",вы­зывая setProperty () для класса System, напр:System.setProperty("jdbc.drivers",

"sun.jdbc.odbc.JdbcOdbcDriver");

Перв арг-ключ для св-ва, кот будет задано, а втор—знач-е. Этот оператор идентифицирует драйв JDBC-ODBC Bridge в сист св-ве.

Класс Properties определ метод setProperty (), поэт если им-ся объект Properties, можно задав св-ва непосредств, вызывая этот метод.

При искл ситуац SecurityException можно загрузи драйв явно, вызывая стат метод forName () в классе Class и передавая объект String в кач арг-та, со­держащ имя класса драйвера. Напр:

Class.forName("sun.j dbc.odbc.JdbcOdbcDriver") ;

// Загружает драйвер ODBC

вызов функц долж происх в блоке try с блоком catch(ClassNotFoundException).

Класс каждого драйвера обычно создает при загрузке экземпляр самого себя и ре­гистрирует этот экземпляр, вызывая автоматически метод класса DriverManager. Все методы в классе DriverManager являются статическими.

Если необходимо соединение с драйвером JDBC, новый объект, инкапсулирую­щий соединение, не создается — для этого служит объект DriverManager. Класс DriverManager предоставляет несколько статических методов для создания объ­ектов, реализующих интерфейс Connection, который мы сейчас получим,— он инкапсулирует соединение с базой данных. Все они являются перегруженными вер­сиями метода getConnection ().

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]