пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Драйвера, соединения и запросы.


Взаимодействие между приложением Java и СУБД осуществляется с помощью драйверов JDBC, обеспечивающих реализацию общих интерфейсов для конкретных СУБД и конкретных протоколов.
D JDBC определяются четыре типа драйверов:
1. Тип 1 – драйвер, использующий другой прикладной интерфейс, в частности ODBC, для работы с СУБД (так называемый JDBC-ODBC мост). Стандартный драйвер типа 1 sun.jdbc.odbc.JdbcOdbcDriver входит в JSDK.
2. Тип 2- драйвер, работающий через нативные библиотеки (т.е. клиента) СУБД.
3. Тип 3 – драйвер, работающий по сетевому и независимому от СУБД протоколу с промежуточным java-сервером, который в свою очередь подключается к нужной СУБД.
4. Тип 4 – сетевой драйвер, работающий напрямую с нужной СУБД и не требующий установки native-библиотек.

Предпочтение естественным образом отдается второму типу, однако если приложение выполняется на машине, на которой не предполагается установка клиента СУБД, то выбор производится между третьим и четвертым типами. Причем четвертый тип работает напрямую с СУБД по ее протоколу, поэтому можно предположить, что драйвер четвертого типа будет более эффективным по сравнению с третьим типом с точки зрения производительности. Первый тип, используется реже, в тех случаях, когда у СУБД нет своего драйвера JDBC, зато есть драйвер ODBC.
Приложение, работающее с БД, работает по следующей обычной последовательности действий:

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 и будет установлено соединение с соответствующей БД.
Класс DriverManager предоставляет средства для управления набором драйверов баз данных. Методу getConnection() необходимо передать тип и физическое месторасположение БД, а также логин и пароль для доступа. С помощью метода registerDriver() драйвера регистрируются, а методом getDrivers() можно получить список всех драйверов.

3. Создание объекта для передачи запросов
Statement st=cn.createStatement();
Объект класса Statement используется для выполнения запроса без его предварительной подготовки и команд SQL. Могут применяться также операторы для выполнения подготовленных запросов и хранимых процедур PreparedStatement и CallableStatement. Созданный объект можно использовать для выполнения запроса.

4. Выполнение запроса
Результаты выполнения запроса помещаются в объект класса ResultSet:
ResutSet rs=st.executeQuery(“SELCT * FROM mytable”);
Для добавления или изменения информации в таблице вместо метода executeQuery() запрос помещается в метод executeUpdate().

5. Обработка результатов выполнения запроса производится методами интерфейса ResultSet, где самыми распространенными являются next() и getString() и аналогичные методы, начинающиеся с getТип() и updateТип().

6. Закрытие соединения
cn.close();
После того, как база больше не нужна, соединение закрывается.


28.12.2017; 02:26
хиты: 95
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь