HOWTO · Java
Java の埋め込みデータベース
このチュートリアルでは、Java の組み込みデータベースの比較について説明します。
データベースソリューションがスタンドアロンとしてではなくアプリケーションに組み込まれているデータベーステクノロジは、組み込みデータベースと呼ばれます。これらのデータベースは軽量で高速であり、構成が簡単でテスト容易性が向上しているため、開発およびテスト段階で役立ちます。
Java 用の組み込みデータベースには多くの種類があります。このチュートリアルでは、Java の組み込みデータベースのいくつかの最良の選択を比較します。
次の図は、組み込みデータベースがどのように機能するかを示しています。
Apache Derby
Apache Derby は、Java で実装されているオープンソースデータベースです。このデータベースは Apache のライセンスに基づいています。
このデータベースの標準は JDBC と SQL です。また、クライアント/サーバーモードもサポートしています。
ダービーは、リレーショナルデータベースのすべての機能をサポートしています。
derby.jar を使用して、Java で Apachederby を実装します。接続するには、以下のコマンドに従ってください。
// load driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection c = DriverManager.getConnection("jdbc:derby:testdb1;create=true")
create=true は、データベースが存在しない場合はデータベースを作成してから接続します。このパラメーターは、データベースが存在しない場合にデータベースを作成する場合にのみ使用します。
Apache derby の jar はこちらからダウンロードできます。
HSQLDB(HyperSQL データベース)
HyperSQL は、SQL 標準および JDBC 仕様に基づいて作成されています。HyperSQL は、最新のリレーショナルデータベースで使用されるすべての機能をサポートします。
組み込みモードとサーバーモードの両方をサポートします。このデータベースは純粋に Java で開発されています。
HyperSQL は、PreparedStatement および CallableStatement もサポートしています。また、2 フェーズロックとマルチバージョン同時実行制御もサポートしています。
HyperSQL は、HyperSQL、RDBMS エンジン、および HyperSQL を Java アプリケーションに埋め込むための JDBC ドライバーを含む jar パッケージで提供されます。Java で HyperSQL を接続するには、以下のコマンドに従います。
// load driver
Class.forName("org.hsqldb.jdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:hsqldb:testdb", "sa", "");
HyperSQL パッケージはこちらからダウンロードできます。
H2
H2 は、SQL 標準と JDBCAPI サポートに基づくオープンソースデータベースでもあります。また、組み込みモードとサーバーモード、マルチバージョンの同時実行、および行レベルのロックもサポートしています。
Java で H2 と接続するには、以下のコマンドに従います。
// load driver
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
~/が他のデータベースと比較してユーザーのホームディレクトリを示す場合、H2 は非常に包括的です。
H2 データベースはこちらからダウンロードできます。