Первый шаг с JavaDB

Статьи -> Программирование -> Java

Первый шаг с JavaDB

v:1.0 18.08.2012
SmartyIT - Каталог статей для программистов

JavaDB - это очень простая и легкая СУБД, которая не требует ни администрирования, ни специальной тонкой настройки. Однако при всей свой простоте это вполне себе достойная реляционная СУБД, которая очень часто существенно облегчает жизнь Java-разработчику.
Часто надо временно "сбросить на диск" структурированные файлы. Не самому же в самом деле разрабатывать алгоритмы для сохранения/загрузки таких структур на диск. В то же время применение даже MySQL выглядит как "стрельба из пушки по воробьям", в таких случаях JavaDB отличное решение.

JavaDB входит в состав JDK, и по умолчанию устанавливается с ним. Ниже я приведу последовательность самых первых и простых действий...

По умолчанию JavaDB устанавливается в каталог JDK, у меня на Windows7 она оказалась здесь:

  C:\Program Files\Java\jdk1.7.0_05\db

Первым делом устанавливаем переменную окружения DERBY_HOME

  DERBY_HOME "C:\Program Files\Java\jdk1.7.0_05\db"

После установки DERBY_HOME можно запускать "браузер СУБД", некий аналог sqlplus для Oracle.
В документации написано это делать так:

  ij
Я ничего кроме ошибки не получил:
  Files\Java\jdk1.7.0_05\db""=="" was unexpected at this time.
С ходу победить ее не смог, кто знает подскажите в чем дело.
В документации описан еще один способ, он-то у меня и заработал:
  java -jar %DERBY_HOME%\lib\derbyrun.jar ij
Разумеется, путь к Java должен быть прописан в переменной Path, ну или надо полный путь задать.

В запущенном "браузере СУБД", а это по сути командная строка (похожая с виду на sqlplus Oracle), можно создать новую базу данных такой командой:

  CONNECT 'jdbc:derby:firstdb;create=true';
Забавно, в JavaDB нет специальной команды "CREATE DATABASE", если базы в момент подключения нет, она создастся сама, для этого и нужен параметр create=true.
В результате работы CONNECT на жестком диске в текущем каталоге создастся каталог firstdb, в котором и будет лежать база данных.

СУБД готова к работе, давайте создадим пробную таблицу:

create table SUPPLIERS
  (SUP_ID integer NOT NULL,
  SUP_NAME varchar(40) NOT NULL,
  STREET varchar(40) NOT NULL,
  CITY varchar(20) NOT NULL,
  STATE char(2) NOT NULL,
  ZIP char(5),
  PRIMARY KEY (SUP_ID));
А теперь заполним ее:
insert into SUPPLIERS values(49,  'Superior Coffee', '1 Party Place', 'Mendocino', 'CA', '95460');
insert into SUPPLIERS values(101, 'Acme, Inc.', '99 Market Street', 'Groundsville', 'CA', '95199');
insert into SUPPLIERS values(150, 'The High Ground', '100 Coffee Lane', 'Meadows', 'CA', '93966');
insert into SUPPLIERS values(456, 'Restaurant Supplies, Inc.', '200 Magnolia Street', 'Meadows', 'CA', '93966');
insert into SUPPLIERS values(927, 'Professional Kitchen', '300 Daisy Avenue', 'Groundsville', 'CA', '95199');
А теперь посмотрим, что получилось:
  select * from SUPPLIERS;

JavaDB можно легко создавать прямо из приложения и не напрягать конечного пользователя дополнительными сложностями инсталляций, настройкой инстанции, импортом скриптов и т.д.

Еще один пример использования JavaDB можно посмотреть здесь.

Метки: Java   JavaDB  

Комментарии.

Внимание.
Комментировать могут только зарегистрированные пользователи.
Возможно использование следующих HTML тегов: <a>, <b>, <i>, <br>.

Яндекс цитирования Ðåéòèíã@Mail.ru Rambler's Top100