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