АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Последовательность действий

Читайте также:
  1. VI Обжалование решений, действий (бездействия) таможенных органов и их должностных лиц
  2. Алгоритм действий при травмах.
  3. Алгоритм управленческих действий при организации
  4. Альный ущерб, возникший вследствие его неправильных действий
  5. АНАЛИЗ ОШИБОЧНЫХ ДЕЙСТВИЙ
  6. Анализ результатов развития ситуации после управленческих воздействий.
  7. Анализ ситуации, приведшей к совершению противоправных действий.
  8. Антропогенных воздействий
  9. Биомеханика ударных действий
  10. Великая Отечественная война: характер и ход боевых действий
  11. ВЕТЕРАНЫ БОЕВЫХ ДЕЙСТВИЙ
  12. Вечная последовательность миров

1. Загрузка класса драйвера базы данных при отсутствии экземпляра этого класса.

Например:

String driverName = "org.gjt.mm.mysql.Driver";

для СУБД MySQL,

String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";

для СУБД MSAccess или

String driverName = "org.postgreesql.Driver";

для СУБД PostgreeSQL.

После этого выполняется собственно загрузка драйвера в память:

Class.forName(driverName);

и становится возможным соединение с СУБД.

Эти же действия можно выполнить, импортируя библиотеку и создавая объект явно. Например, для СУБД DB2 от IBM объект-драйвер можно создать следующим образом:

new com.ibm.db2.jdbc.net.DB2Driver();

2. Установка соединения с БД.

Для установки соединения с БД вызывается статический метод
getConnection()
класса DriverManager. В качестве параметров методу передаются URL базы данных, логин пользователя БД и пароль доступа. Метод возвращает объект Connection. URL базы данных, состоящий из типа и адреса физического расположения БД, может создаваться в виде отдельной строки или извлекаться из файла ресурсов. Например:

Connection cn = DriverManager.getConnection("jdbc:mysql://localhost/my_db", "root", "pass");

В результате будет возвращен объект Connection и будет одно установленное соединение с БД my_db. Класс DriverManager предоставляет средства для управления набором драйверов баз данных. С помощью метода
registerDriver() драйверы регистрируются, а методом getDrivers() можно получить список всех драйверов.

3. Создание объекта для передачи запросов.

После создания объекта Connection и установки соединения можно начинать работу с БД с помощью операторов SQL. Для выполнения запросов применяется объект Statement, создаваемый вызовом метода createStatement() класса Connection.

Statement st = cn.createStatement();

Объект класса Statement используется для выполнения SQL-запроса без его предварительной подготовки. Могут применяться также объекты классов PreparedStatement и CallableStatement для выполнения подготовленных запросов и хранимых процедур. Созданные объекты можно использовать для выполнения запроса SQL, передавая его в один из методов
executeQuery(String sql)
или executeUpdate(String sql).

4. Выполнение запроса.

Результаты выполнения запроса помещаются в объект ResultSet:

ResultSet rs = st.executeQuery(

"SELECT * FROM my_table"); //выборка всех данных таблицы my_table

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

5. Обработка результатов выполнения запроса производится методами интерфейса ResultSet, где самыми распространенными являются next() и
getString(int pos) а также аналогичные методы, начинающиеся с get Тип (int pos) (getInt(int pos), getFloat(int pos) и др.) и update Тип (). Среди них следует выделить методы getClob(int pos) и getBlob(int pos), позволяющие извлекать из полей таблицы специфические объекты (Character Large Object, Binary Large Object), которые могут быть, например, графическими или архивными файлами. Эффективным способом извлечения значения поля из таблицы ответа является обращение к этому полю по его позиции в строке.

При первом вызове метода next() указатель перемещается на таблицу результатов выборки в позицию первой строки таблицы ответа. Когда строки закончатся, метод возвратит значение false.

6. Закрытие соединения

cn.close();

После того как база больше не нужна, соединение закрывается.

Для того чтобы правильно пользоваться приведенными методами, программисту требуется знать типы полей БД. В распределенных системах это знание предполагается изначально.

СУБД MySQL

СУБД MySQL совместима c JDBC и будет применяться для создания экспериментальных БД. Последняя версия CУБД может быть загружена с сайта www.mysql.com. Для корректной установки необходимо следовать инструкциям мастера установки. Каталог лучше выбирать по умолчанию. В процессе установки следует создать администратора СУБД с именем root и паролем pass. Если планируется разворачивать реально работающее приложе­ние, необходимо исключить тривиальных пользователей сервера БД (иначе злоумышленники
могут получить полный доступ к БД). Для запуска следует использовать команду из папки /mysql/bin:


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)