Афоризм
Я все отдам. Но где мне это взять?
Наталья Резник
Последние статьи

 • платформа JaBricks
Платформа OSGi-приложения JaBricks
 • уроки JaBricks
Учебные примеры изучения платформы Jabricks
 • бандл 'О программе'
Модуль представления инфо о программе
 • бандл form-locale
Модуль определения языка локализации приложения
 • бандл util-db
Модуль взаимодействия с СУБД
 • бандл db-connection
Модуль подключения к серверу БД
 • бандлы JaBricks
Бандлы приложения JaBricks

Урок 9. Подключение к серверу БД

Основная цель данного урока показать, как можно без программирования из готовых модулей создать приложение, которое позволяет установить соединение с сервером базы данных (БД) и просмотреть содержимое табличных объектов (table, view). Для подключения к серверу БД и просмотра таблиц (структура, данные) будем использовать следующие модули :

МодульНазначение
util-db-derby Модуль взаимодействия с сервером БД типа «Apache Derby» с использованием драйвера JDBC.
org.apache.derby-10.10.1000001 Embedded Derby JDBC driver (JDBC-драйвер взаимодействия с сервером БД).
db-connection Модуль подключения к серверу БД.
db-objects Модуль просмотра табличных объектов БД : структура, записи.

Примечание
1. Базу данных «Apache Derby» Вы можете скачать с архивным конфигурационным файлом к данному уроку, включающим JDBC-драйвер. Логин и пароль подключения к серверу БД : «derby».
2. Вы можете подключиться к другому типу SQL-сервера БД, установленному на Вашем PC и доступному платформе JaBricks. Для этого следует либо использовать соответствующий модуль вместе с JDBC-драйвером, либо общий модуль и все доступные ему JDBC-драйверы. Подробнее на странице util-db.
3. Помните, что JDBC-драйвер должен быть выполнен по технологии OSGi и загружен во фреймворк.

Особенностью модуля подключения db-connection является проверка наличия установленного соединения с сервером БД. Если соединение установлено, то поля ввода параметров учетной записи (пользователь, пароль) блокируются, и модуль позволяет только отключиться от сервера БД. При подключении к серверу БД, либо при отключении от сервера модуль db-connection отправляет соответствующее сообщение jabricks/DBConnect всем подписчикам.

Модуль db-objects «подписан» на сообщение jabricks/DBConnect. При старте модуль проверяет наличие установленного соединения с сервером БД. Если соединение установлено, то db-objects в интерфейсной форме отображает имеющиеся в БД таблицы. В противном случае загружает список таблиц только при поступлении сообщения jabricks/DBConnect. При отключении от сервера БД db-objects очищает форму.

На заметку :
Используемый в примере модуль db-objects позволяет представлять структуры объектов базы данных типа table и view в табличном виде и в виде SQL скрипта, а также просматривать записи таблиц. Что касается просмотра записей, то могут возникнуть проблемы с таблицами, включающими поля типа BLOB/CLOB/LOB. Это, скорее всего, будет связано с ограничениями отображения значений таких полей.

Определение типа сервера БД

В файле конфигурации приложения jabricks.ini необходимо определить тип сервера БД. Для сервера БД «Apache Derby» описание будет выглядеть следующим образом :


# Derby
sql.provider=DerbyEmbedded
sql.login=derby
sql.host=D:/jabricks/db
sql.database=jabricks
 

В поле sql.host для сервера «Apache Derby» необходимо указать полный путь к директории БД (в листинге ОС Windows). В поле sql.database указывается имеющаяся БД. При успешной авторизации в файле инициализации будет сохранено значение пользователя в поле sql.login, которое подгружается в форму модуля db-connection.

Если Вы будете использовать другой тип SQL-сервера БД, то необходимо выбрать соответствующий модуль util-db и в файле инициализации использовать требуемый формат описания сервера.

Конфигурация

Конфигурация приложения включает набор бандлов в поддиректории «configuration/bundles», которые регистрируются в файле «configuration/bundles.ini». В конфигурацию к базовому набору платформы дополнительно включены модули :

  • db-connection – модуль подключения к серверу БД;
  • db-objects – модуль представления структуры и записей табличных объектов БД;
  • util-db-derby – модуль взаимодействия с сервером БД «Apache Derby»;
  • org.apache.derby-10.10.1000001 – JDBC-драйвер сервера БД «Apache Derby».

Листинг configuration/bundles.ini


bundles=org.apache.felix.eventadmin-1.4.8.jar@start, \
org.apache.felix.log-1.0.1.jar@start, \
util-resources-1.0.0.jar@start, \
util-logger-1.0.0.jar@start, \
gui-widgets-1.0.0.jar, \
base-jframe-1.0.0.jar, \
base-jpanel-1.0.0.jar, \
base-jdialog-1.0.0.jar, \
gui-menu-1.0.0.jar, \
gui-toolbar-1.0.0.jar, \
db-objects-1.0.0.jar, \
org.apache.derby-10.10.1000001.jar, \
util-db-derby-1.0.0.jar, \
db-connection-1.0.0.jar@start, \
templ-jframe-1.0.0.jar@main
 

Листинг configuration/menu.xml

Листинг файла описания структуры меню «configuration/menu.xml» имеет следующий вид :


<?xml version="1.0" encoding="UTF-8"?>
<menubar name="mainMenu">
    <menu name="menu.file">
        <menuitem name="menu.connection" image="key.png"
                  groupId="org.jabricks.connection" 
                  artifactId="db-connection"
                  version="1.0.0" />
        <menuitem name="menu.dbobjects" image="database.png"
                  groupId="org.jabricks.dbobjects" 
                  artifactId="db-objects" 
                  version="1.0.0" />
        <menuitem name="separator" />
        <menuitem name="menu.exit" accelerator="alt X"/>
    </menu>
</menubar>
 

С форматом структуры главного меню можно познакомиться на странице описания. В примере главное меню включает один пункт меню <menu> и несколько подпунктов <menuitem>, один из которых является сепаратором (separator). Описание главного меню включает интуитивно-понятные атрибуты :

  • name – наименование пункта/подпункта меню, используется в локализации текстовой надписи;
  • image – отображаемое в подпункте меню изображение, расположенное в директории «configuration/resources/images»;
  • groupId, artifactId, version – связанный с подпунктом меню бандл.

Связанные страницы

Список уроков
Предыдующий, 8-й урок
Следующий, 10-й урок

Скачать урок

В таблице представлены архивные файлы конфигурации и база данных Apache Derby. Главный модуль приложения можно скачать в Уроке 1. Конфигурация приложения включает JDBC-драйвер Apache Derby и утилиту взаимодействия с СУБД util-db-derby. После скачивания архивных файлов необходимо создать структуру платформы JaBricks. В файле инициализации приложения jabricks.ini необходимо указать полный путь к директории, как это описано в утилите db-connection.

АрхивОписаниеСкачать
configuration.lesson09.zip Конфигурация девятого урока
скачать (2.98 Мб)
db.zip База данных Apache Derby
скачать (1.69 Мб)
  Рейтинг@Mail.ru