クラス EmbeddedDatabaseBuilder
使用例
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
- 関連事項:
コンストラクターのサマリー
コンストラクター説明DefaultResourceLoader
を使用して新しい組み込みデータベースビルダーを作成します。EmbeddedDatabaseBuilder
(ResourceLoader resourceLoader) 指定されたResourceLoader
で新しい組み込みデータベースビルダーを作成します。メソッドのサマリー
修飾子と型メソッド説明データベースにデータを取り込むために実行するデフォルトの SQL スクリプトを追加します。データベースを初期化または設定するために実行する SQL スクリプトを追加します。addScripts
(StringSE... scripts) データベースを初期化または設定するために実行する複数の SQL スクリプトを追加します。build()
組み込みデータベースを構築します。continueOnError
(boolean flag) SQL スクリプトの実行中に発生したすべての失敗をログに記録する必要があるが、失敗の原因にはならないように指定します。generateUniqueName
(boolean flag) 一意の ID を生成してデータベース名として使用するかどうかを指定します。ignoreFailedDrops
(boolean flag) 実行されたスクリプト内の失敗した SQLDROP
ステートメントを無視できることを指定します。setBlockCommentEndDelimiter
(StringSE blockCommentEndDelimiter) すべての SQL スクリプトでブロックコメントの終了区切り文字を指定します。setBlockCommentStartDelimiter
(StringSE blockCommentStartDelimiter) すべての SQL スクリプトでブロックコメントの開始区切り文字を指定します。setCommentPrefix
(StringSE commentPrefix) すべての SQL スクリプトで使用される単一行のコメント接頭辞を指定します。setCommentPrefixes
(StringSE... commentPrefixes) すべての SQL スクリプト内の単一行コメントを識別するプレフィックスを指定します。setDataSourceFactory
(DataSourceFactory dataSourceFactory) 組み込みデータベースに接続するDataSource
SE インスタンスの作成に使用するファクトリを設定します。組み込みデータベースの名前を設定します。setScriptEncoding
(StringSE scriptEncoding) プラットフォームのエンコーディングと異なる場合は、すべての SQL スクリプトで使用される文字エンコーディングを指定します。setSeparator
(StringSE separator) カスタムの場合、すべての SQL スクリプトで使用されるステートメント区切り文字を指定します。setType
(EmbeddedDatabaseType databaseType) 組み込みデータベースの型を設定します。
コンストラクターの詳細
EmbeddedDatabaseBuilder
public EmbeddedDatabaseBuilder()DefaultResourceLoader
を使用して新しい組み込みデータベースビルダーを作成します。EmbeddedDatabaseBuilder
指定されたResourceLoader
で新しい組み込みデータベースビルダーを作成します。- パラメーター:
resourceLoader
- 委譲するResourceLoader
メソッドの詳細
generateUniqueName
一意の ID を生成してデータベース名として使用するかどうかを指定します。このビルダーの構成が単一の JVM 内の複数のアプリケーションコンテキストで再利用される場合、各アプリケーションコンテキストが独自の埋め込みデータベースを確実に取得するために、このフラグを有効にする(つまり、
true
に設定する)必要があります。このフラグを有効にすると、
setName(java.lang.String)
を介して設定された明示的な名前が上書きされます。- パラメーター:
flag
- 一意のデータベース名を生成する必要がある場合はtrue
- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.2
- 関連事項:
setName
組み込みデータベースの名前を設定します。呼び出されない場合のデフォルトは
EmbeddedDatabaseFactory.DEFAULT_DATABASE_NAME
です。generateUniqueName
フラグがtrue
に設定されている場合はオーバーライドされます。- パラメーター:
databaseName
- 構築する組み込みデータベースの名前- 戻り値:
this
、メソッドの連鎖を容易にする- 関連事項:
setType
組み込みデータベースの型を設定します。呼び出されない場合のデフォルトは HSQL です。
- パラメーター:
databaseType
- 構築する組み込みデータベースの型- 戻り値:
this
、メソッドの連鎖を容易にする
setDataSourceFactory
組み込みデータベースに接続するDataSource
SE インスタンスの作成に使用するファクトリを設定します。デフォルトは
SimpleDriverDataSourceFactory
ですが、たとえば接続プールを導入するためにオーバーライドできます。- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
addDefaultScripts
データベースにデータを取り込むために実行するデフォルトの SQL スクリプトを追加します。デフォルトのスクリプトは、データベーススキーマを作成する
"schema.sql"
と、データベースにデータを入力する"data.sql"
です。- 戻り値:
this
、メソッドの連鎖を容易にする
addScript
データベースを初期化または設定するために実行する SQL スクリプトを追加します。- パラメーター:
script
- 実行するスクリプト- 戻り値:
this
、メソッドの連鎖を容易にする
addScripts
データベースを初期化または設定するために実行する複数の SQL スクリプトを追加します。- パラメーター:
scripts
- 実行するスクリプト- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
setScriptEncoding
プラットフォームのエンコーディングと異なる場合は、すべての SQL スクリプトで使用される文字エンコーディングを指定します。- パラメーター:
scriptEncoding
- スクリプトで使用されるエンコーディング- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
setSeparator
カスタムの場合、すべての SQL スクリプトで使用されるステートメント区切り文字を指定します。指定しない場合はデフォルトで
";"
になり、最後の手段として"\n"
にフォールバックします。ScriptUtils.EOF_STATEMENT_SEPARATOR
に設定すると、各スクリプトに区切り文字のない単一のステートメントが含まれることを通知できます。- パラメーター:
separator
- ステートメントセパレータ- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
setCommentPrefix
すべての SQL スクリプトで使用される単一行のコメント接頭辞を指定します。デフォルトは
"--"
です。- パラメーター:
commentPrefix
- 単一行コメントの接頭辞- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
- 関連事項:
setCommentPrefixes
すべての SQL スクリプト内の単一行コメントを識別するプレフィックスを指定します。デフォルトは
["--"]
です。- パラメーター:
commentPrefixes
- 単一行コメントの接頭辞- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 5.2
setBlockCommentStartDelimiter
すべての SQL スクリプトでブロックコメントの開始区切り文字を指定します。デフォルトは
"/*"
です。- パラメーター:
blockCommentStartDelimiter
- ブロックコメントの開始区切り文字- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
- 関連事項:
setBlockCommentEndDelimiter
すべての SQL スクリプトでブロックコメントの終了区切り文字を指定します。デフォルトは
"*/"
です。- パラメーター:
blockCommentEndDelimiter
- ブロックコメントの終了区切り文字- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
- 関連事項:
continueOnError
SQL スクリプトの実行中に発生したすべての失敗をログに記録する必要があるが、失敗の原因にはならないように指定します。デフォルトは
false
です。- パラメーター:
flag
- スクリプトの実行をエラー時に続行する必要がある場合はtrue
- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
ignoreFailedDrops
実行されたスクリプト内の失敗した SQLDROP
ステートメントを無視できることを指定します。これは、SQL ダイアレクトが
DROP
ステートメントのIF EXISTS
句をサポートしていないデータベースで役立ちます。デフォルトは
false
であるため、スクリプトがDROP
ステートメントで開始された場合、building
はすぐに失敗します。- パラメーター:
flag
- 失敗したドロップステートメントを無視する必要がある場合はtrue
- 戻り値:
this
、メソッドの連鎖を容易にする- 導入:
- 4.0.3
build
組み込みデータベースを構築します。- 戻り値:
- 組み込みデータベース