クラス EmbeddedDatabaseBuilder

java.lang.ObjectSE
org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder

public class EmbeddedDatabaseBuilder extends ObjectSE
組み込みデータベースを構築するための便利な API を提供するビルダー。

使用例

 EmbeddedDatabase db = new EmbeddedDatabaseBuilder()
     .generateUniqueName(true)
     .setType(H2)
     .setScriptEncoding("UTF-8")
     .ignoreFailedDrops(true)
     .addScript("schema.sql")
     .addScripts("user_data.sql", "country_data.sql")
     .build();

 // perform actions against the db (EmbeddedDatabase extends javax.sql.DataSource)

 db.shutdown();
 
導入:
3.0
作成者:
Keith Donald, Juergen Hoeller, Dave Syer, Sam Brannen
関連事項:
  • コンストラクターの詳細

    • EmbeddedDatabaseBuilder

      public EmbeddedDatabaseBuilder()
      DefaultResourceLoader を使用して新しい組み込みデータベースビルダーを作成します。
    • EmbeddedDatabaseBuilder

      public EmbeddedDatabaseBuilder(ResourceLoader resourceLoader)
      指定された ResourceLoader で新しい組み込みデータベースビルダーを作成します。
      パラメーター:
      resourceLoader - 委譲する ResourceLoader 
  • メソッドの詳細

    • generateUniqueName

      public EmbeddedDatabaseBuilder generateUniqueName(boolean flag)
      一意の ID を生成してデータベース名として使用するかどうかを指定します。

      このビルダーの構成が単一の JVM 内の複数のアプリケーションコンテキストで再利用される場合、各アプリケーションコンテキストが独自の埋め込みデータベースを確実に取得するために、このフラグを有効にする(つまり、true に設定する)必要があります。

      このフラグを有効にすると、setName(java.lang.String) を介して設定された明示的な名前が上書きされます。

      パラメーター:
      flag - 一意のデータベース名を生成する必要がある場合は true 
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.2
      関連事項:
    • setName

      public EmbeddedDatabaseBuilder setName(StringSE databaseName)
      組み込みデータベースの名前を設定します。

      呼び出されない場合のデフォルトは EmbeddedDatabaseFactory.DEFAULT_DATABASE_NAME です。

      generateUniqueName フラグが true に設定されている場合はオーバーライドされます。

      パラメーター:
      databaseName - 構築する組み込みデータベースの名前
      戻り値:
      this、メソッドの連鎖を容易にする
      関連事項:
    • setType

      public EmbeddedDatabaseBuilder setType(EmbeddedDatabaseType databaseType)
      組み込みデータベースの型を設定します。

      呼び出されない場合のデフォルトは HSQL です。

      パラメーター:
      databaseType - 構築する組み込みデータベースの型
      戻り値:
      this、メソッドの連鎖を容易にする
    • setDataSourceFactory

      public EmbeddedDatabaseBuilder setDataSourceFactory(DataSourceFactory dataSourceFactory)
      組み込みデータベースに接続する DataSourceSE インスタンスの作成に使用するファクトリを設定します。

      デフォルトは SimpleDriverDataSourceFactory ですが、たとえば接続プールを導入するためにオーバーライドできます。

      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • addDefaultScripts

      public EmbeddedDatabaseBuilder addDefaultScripts()
      データベースにデータを取り込むために実行するデフォルトの SQL スクリプトを追加します。

      デフォルトのスクリプトは、データベーススキーマを作成する "schema.sql" と、データベースにデータを入力する "data.sql" です。

      戻り値:
      this、メソッドの連鎖を容易にする
    • addScript

      public EmbeddedDatabaseBuilder addScript(StringSE script)
      データベースを初期化または設定するために実行する SQL スクリプトを追加します。
      パラメーター:
      script - 実行するスクリプト
      戻り値:
      this、メソッドの連鎖を容易にする
    • addScripts

      public EmbeddedDatabaseBuilder addScripts(StringSE... scripts)
      データベースを初期化または設定するために実行する複数の SQL スクリプトを追加します。
      パラメーター:
      scripts - 実行するスクリプト
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • setScriptEncoding

      public EmbeddedDatabaseBuilder setScriptEncoding(StringSE scriptEncoding)
      プラットフォームのエンコーディングと異なる場合は、すべての SQL スクリプトで使用される文字エンコーディングを指定します。
      パラメーター:
      scriptEncoding - スクリプトで使用されるエンコーディング
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • setSeparator

      public EmbeddedDatabaseBuilder setSeparator(StringSE separator)
      カスタムの場合、すべての SQL スクリプトで使用されるステートメント区切り文字を指定します。

      指定しない場合はデフォルトで ";" になり、最後の手段として "\n" にフォールバックします。ScriptUtils.EOF_STATEMENT_SEPARATOR に設定すると、各スクリプトに区切り文字のない単一のステートメントが含まれることを通知できます。

      パラメーター:
      separator - ステートメントセパレータ
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • setCommentPrefix

      public EmbeddedDatabaseBuilder setCommentPrefix(StringSE commentPrefix)
      すべての SQL スクリプトで使用される単一行のコメント接頭辞を指定します。

      デフォルトは "--" です。

      パラメーター:
      commentPrefix - 単一行コメントの接頭辞
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
      関連事項:
    • setCommentPrefixes

      public EmbeddedDatabaseBuilder setCommentPrefixes(StringSE... commentPrefixes)
      すべての SQL スクリプト内の単一行コメントを識別するプレフィックスを指定します。

      デフォルトは ["--"] です。

      パラメーター:
      commentPrefixes - 単一行コメントの接頭辞
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      5.2
    • setBlockCommentStartDelimiter

      public EmbeddedDatabaseBuilder setBlockCommentStartDelimiter(StringSE blockCommentStartDelimiter)
      すべての SQL スクリプトでブロックコメントの開始区切り文字を指定します。

      デフォルトは "/*" です。

      パラメーター:
      blockCommentStartDelimiter - ブロックコメントの開始区切り文字
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
      関連事項:
    • setBlockCommentEndDelimiter

      public EmbeddedDatabaseBuilder setBlockCommentEndDelimiter(StringSE blockCommentEndDelimiter)
      すべての SQL スクリプトでブロックコメントの終了区切り文字を指定します。

      デフォルトは "*/" です。

      パラメーター:
      blockCommentEndDelimiter - ブロックコメントの終了区切り文字
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
      関連事項:
    • continueOnError

      public EmbeddedDatabaseBuilder continueOnError(boolean flag)
      SQL スクリプトの実行中に発生したすべての失敗をログに記録する必要があるが、失敗の原因にはならないように指定します。

      デフォルトは false です。

      パラメーター:
      flag - スクリプトの実行をエラー時に続行する必要がある場合は true 
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • ignoreFailedDrops

      public EmbeddedDatabaseBuilder ignoreFailedDrops(boolean flag)
      実行されたスクリプト内の失敗した SQL DROP ステートメントを無視できることを指定します。

      これは、SQL ダイアレクトが DROP ステートメントの IF EXISTS 句をサポートしていないデータベースで役立ちます。

      デフォルトは false であるため、スクリプトが DROP ステートメントで開始された場合、building はすぐに失敗します。

      パラメーター:
      flag - 失敗したドロップステートメントを無視する必要がある場合は true 
      戻り値:
      this、メソッドの連鎖を容易にする
      導入:
      4.0.3
    • build

      public EmbeddedDatabase build()
      組み込みデータベースを構築します。
      戻り値:
      組み込みデータベース