2013/06/05

Spring 3 組込みデータベースサポート

概要

組込みデータベースサポート機能はSpring 3で追加された機能で、アプリケーションと同一VM上で動作するオン・メモリなデータベースサポート機能です。DBの実装についてはSpringが持っているわけではなく外部ライブラリを利用します。サポートしているDBは以下の3つです。

  • HSQLDB
  • H2
  • Apache Derby
なお、この機能はorg.springframework.jdbc.datasource.embeddedパッケージにより提供されます。

ユースケース

想定されるユースケースとしては以下の通りです。他に何かアイデアがあれば是非教えて下さい。

  • サンプル
  • 教育
  • プロタイプ(なにを検証するかにもよります)
  • テンポラリデータ(トランザクションの中間データなど)
  • データ・キャッシュ(今はもっといい方法があるのでキャッシュとしては最適ではないかもしれません)

利用方法

Bean定義XMLに設定する方法

  
    
    
  
組込みデータベースの設定はjdbc名前空間のembedded-database要素として定義します。この要素によって定義されたBeanはデータソースとして振る舞います。従ってトランザクションマネージャなどからデータソースとして参照することになります。type属性にはデータベースのタイプを指定します。ここで指定する文字列は列挙方EmbeddedDatabaseTypeの属性の文字列表現になります。

初期化に関するデフォルトの振る舞いは、embedded-database要素として内に定義されたSQLスクリプトを無条件に実行します。なお、実行順は上から優先的に実行されます。

プログラムで制御する方法

初期化は以下の通りです。
  EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
  builder.setType(EmbeddedDatabaseType.H2);
  builder.addScript("schema.sql");
  builder.addScript("test-data.sql");
  db = builder.build();
シャットダウン処理は以下の通りです。
  db.shutdown();

参考情報


0 件のコメント:

コメントを投稿