SSブログ

H2 の Embedded モードではファイルは何処に作られる? [NT]

HSQLDB、Derby も良さそうなんだけど、それ以上に評判のよさそうな H2 を試している。用途は今のところ組み込みのみ。サーバ用途での利用は考えていない。

H2 の Embedded モードでアプリケーションから H2に Connection を作成するには、h2 の jar ファイルをクラスパスに通してから、アプリケーションのコードで

Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:test", "sa", "");

とすれば良い。ここで、test という部分がデータベースのファイルになる。NetBeans で適当なプロジェクトを作り上記の設定で Connection を開いたところ、プロジェクトディレクトリ直下に test*.db ファイルが作成された。プロジェクトディレクトリ直下とは build.xml があるディレクトリのこと。

test が作成されるディレクトリを変更するには

Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:n:/test", "sa", "");

とする。 この場合、Windows ならば n ドライブの直下に test*.db ファイルが作成される。

Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:n/test", "sa", "");

の場合は相対パスとなり、NetBeans 上で実行した場合は、プロジェクトディレクトリ直下に n というディレクトリが作成され、その中に test*.db が保存される。

尚、H2 の資料としては公式なマニュアルである http://www.h2database.com/h2.pdf にまとまっている。ただ、組み版は頂けない。もう少し読みやすいと良いと思う。


タグ:H2 Java DB

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。