読者です 読者をやめる 読者になる 読者になる

ひこぽんのーと

覚書と雑記です。

JavaEE 7をやってみよう。 HSQLDB/DBeaver/データソースエクスプローラ その1

前シリーズと似たような話題。

前シリーズでSQLiteを試しておいて、
あっさり次のDBの登場となりました。

JPAのサンプルを作ってみようとして試行錯誤中、
O/Rマッパー用のBeanを自動生成する段階で
どうしても生成したクラスがビルドエラーとなるのでSQLiteは諦めた。

似たようなDBにHyperSQL DBというのがあるので、
これを使ってみようと思う。

HSQLDBにはEmbeddedモードとServerモードがあって、
EmbeddedモードはSQLiteと同じようにJDBCドライバから直接DBファイルを参照できる。
ただし、1箇所で接続している間はロックされてしまうので、
開発にはちょっと使いにくい。
そんなわけで、HSQLDBのServerモードを利用することにした。

導入手順は以下の通り。

1. ファイルの入手
HSQLDBのサイトからファイルをダウンロード
http://hsqldb.org/
2. インストール
ダウンロードしたファイルを適当な場所に解凍。終了。
3. シェルスクリプトの作成
環境がWindowsの場合は不要。
要は起動用のスクリプトDOSバッチでしか提供されていないので、
元ネタをコピーしてシェルスクリプト化するだけ。
javaコマンドで目的のクラスを呼んでいるだけなので、難しくない。
4. 起動
コンソールからHSQLDBの{インストールディレクトリ}/binへ移動して、runServer.sh*1を実行するだけ。
パラメータ未指定でも動作はするが、DBファイル名やDB名がデフォルトになってしまうので、気になる場合はパラメータで指定すると良い。
パラメータ書式効果
--database.{i} file:{fileName}DBファイル名の定義。
{i}にはインデックスを指定する。
{fileName}にはファイル名を指定する。
実際にはこれに拡張子が付いたファイルが生成される。
ex. --database.0 file:localDB
--dbname.{i} {dbname}DB名の定義。
{i}にはインデックスを指定する。
{dbName}にはDB名を指定する。
ex. --dbname.0 localDB
--helpヘルプをみる。
5. DBファイルの確認
runServer.shの中でHSQLDBの{インストールディレクトリ}/dataへ移動しているので、このディレクトリの中を覗いてみるといくつかファイルが作られているはず。
これがDBのデータファイルとなる。
6. 終了
コンソールにも表示されるが、Ctrl+Cのシグナルを送ると終了となる。

といったところで、次回へ続く。

*1:runServer.batを自前でshに書き換えたもの。