クラス ResourceDatabasePopulator
java.lang.ObjectSE
org.springframework.jdbc.datasource.init.ResourceDatabasePopulator
- 実装されたすべてのインターフェース:
DatabasePopulator
外部リソースで定義された SQL スクリプトを使用して、データベースにデータを入力、初期化、クリーンアップします。
addScript(org.springframework.core.io.Resource)
を呼び出して、単一の SQL スクリプトの場所を追加します。addScripts(org.springframework.core.io.Resource...)
を呼び出して、複数の SQL スクリプトの場所を追加します。- その他の構成オプションについては、このクラスの setter メソッドを参照してください。
populate(java.sql.Connection)
またはexecute(javax.sql.DataSource)
を呼び出して、構成されたスクリプトを使用してデータベースを初期化またはクリーンアップします。
- 導入:
- 3.0
- 作成者:
- Keith Donald, Dave Syer, Juergen Hoeller, Chris Beams, Oliver Gierke, Sam Brannen, Chris Baldwin, Phillip Webb
- 関連事項:
コンストラクターのサマリー
コンストラクター説明デフォルト設定で新しいResourceDatabasePopulator
を構築します。ResourceDatabasePopulator
(boolean continueOnError, boolean ignoreFailedDrops, StringSE sqlScriptEncoding, Resource... scripts) 指定された値で新しいResourceDatabasePopulator
を構築します。ResourceDatabasePopulator
(Resource... scripts) 提供されたスクリプトのデフォルト設定で新しいResourceDatabasePopulator
を構築します。メソッドのサマリー
修飾子と型メソッド説明void
データベースを初期化またはクリーンアップするために実行するスクリプトを追加します。void
addScripts
(Resource... scripts) データベースを初期化またはクリーンアップするために実行する複数のスクリプトを追加します。void
execute
(DataSourceSE dataSource) このResourceDatabasePopulator
を指定されたDataSource
SE に対して実行します。void
populate
(ConnectionSE connection) 提供された JDBC 接続を使用して、データベースにデータを入力、初期化、クリーンアップします。void
setBlockCommentEndDelimiter
(StringSE blockCommentEndDelimiter) SQL スクリプト内のブロックコメントを識別する終了区切り文字を設定します。void
setBlockCommentStartDelimiter
(StringSE blockCommentStartDelimiter) SQL スクリプト内のブロックコメントを識別する開始区切り文字を設定します。void
setCommentPrefix
(StringSE commentPrefix) SQL スクリプト内の単一行コメントを識別する接頭辞を設定します。void
setCommentPrefixes
(StringSE... commentPrefixes) SQL スクリプト内の単一行コメントを識別するプレフィックスを設定します。void
setContinueOnError
(boolean continueOnError) SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグ。void
setIgnoreFailedDrops
(boolean ignoreFailedDrops) 失敗した SQLDROP
ステートメントを無視できることを示すフラグ。void
setScripts
(Resource... scripts) 実行するスクリプトを設定して、データベースを初期化またはクリーンアップし、以前に追加したスクリプトを置き換えます。void
setSeparator
(StringSE separator) カスタムの場合は、ステートメントの区切り記号を指定します。void
setSqlScriptEncoding
(StringSE sqlScriptEncoding) 構成された SQL スクリプトのエンコードを指定します(プラットフォームのエンコードと異なる場合)。
コンストラクターの詳細
ResourceDatabasePopulator
public ResourceDatabasePopulator()デフォルト設定で新しいResourceDatabasePopulator
を構築します。- 導入:
- 4.0.3
ResourceDatabasePopulator
提供されたスクリプトのデフォルト設定で新しいResourceDatabasePopulator
を構築します。- パラメーター:
scripts
- データベースを初期化またはクリーンアップするために実行するスクリプト (非null
)- 導入:
- 4.0.3
ResourceDatabasePopulator
public ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, @Nullable StringSE sqlScriptEncoding, Resource... scripts) 指定された値で新しいResourceDatabasePopulator
を構築します。- パラメーター:
continueOnError
- SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグignoreFailedDrops
- 失敗した SQLDROP
ステートメントを無視できることを示すフラグsqlScriptEncoding
- 提供された SQL スクリプトのエンコーディング (null
またはプラットフォームのエンコーディングを示す空の場合があります)scripts
- データベースを初期化またはクリーンアップするために実行するスクリプト (非null
)- 導入:
- 4.0.3
メソッドの詳細
addScript
データベースを初期化またはクリーンアップするために実行するスクリプトを追加します。- パラメーター:
script
- SQL スクリプトへのパス (非null
)
addScripts
データベースを初期化またはクリーンアップするために実行する複数のスクリプトを追加します。- パラメーター:
scripts
- 実行するスクリプト (非null
)
setScripts
実行するスクリプトを設定して、データベースを初期化またはクリーンアップし、以前に追加したスクリプトを置き換えます。- パラメーター:
scripts
- 実行するスクリプト (非null
)
setSqlScriptEncoding
構成された SQL スクリプトのエンコードを指定します(プラットフォームのエンコードと異なる場合)。- パラメーター:
sqlScriptEncoding
- スクリプトで使用されるエンコーディング (null
またはプラットフォームのエンコーディングを示す空の場合があります)- 関連事項:
setSeparator
カスタムの場合は、ステートメントの区切り記号を指定します。指定しない場合はデフォルトで
";"
になり、最後の手段として"\n"
にフォールバックします。ScriptUtils.EOF_STATEMENT_SEPARATOR
に設定すると、各スクリプトに区切り文字のない単一のステートメントが含まれることを通知できます。- パラメーター:
separator
- スクリプトステートメントセパレーター
setCommentPrefix
SQL スクリプト内の単一行コメントを識別する接頭辞を設定します。デフォルトは
"--"
です。- パラメーター:
commentPrefix
- 単一行コメントの接頭辞- 関連事項:
setCommentPrefixes
SQL スクリプト内の単一行コメントを識別するプレフィックスを設定します。デフォルトは
["--"]
です。- パラメーター:
commentPrefixes
- 単一行コメントの接頭辞- 導入:
- 5.2
setBlockCommentStartDelimiter
SQL スクリプト内のブロックコメントを識別する開始区切り文字を設定します。デフォルトは
"/*"
です。- パラメーター:
blockCommentStartDelimiter
- ブロックコメントの開始区切り文字 (null
または空ではありません)- 導入:
- 4.0.3
- 関連事項:
setBlockCommentEndDelimiter
SQL スクリプト内のブロックコメントを識別する終了区切り文字を設定します。デフォルトは
"*/"
です。- パラメーター:
blockCommentEndDelimiter
- ブロックコメントの終了区切り文字 (null
または空ではありません)- 導入:
- 4.0.3
- 関連事項:
setContinueOnError
public void setContinueOnError(boolean continueOnError) SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグ。デフォルトは
false
です。- パラメーター:
continueOnError
- スクリプトの実行をエラー時に続行する必要がある場合はtrue
setIgnoreFailedDrops
public void setIgnoreFailedDrops(boolean ignoreFailedDrops) 失敗した SQLDROP
ステートメントを無視できることを示すフラグ。これは、SQL ダイアレクトが
DROP
ステートメントのIF EXISTS
句をサポートしていない非埋め込みデータベースに役立ちます。デフォルトは
false
であるため、ポピュレーターが誤って実行された場合、スクリプトがDROP
ステートメントで開始すると、ポピュレーターはすぐに失敗します。- パラメーター:
ignoreFailedDrops
- 失敗したドロップステートメントを無視する必要がある場合はtrue
populate
提供された JDBC 接続を使用して、データベースにデータを入力、初期化、クリーンアップします。警告 : 具体的な実装では、提供されている
Connection
SE を閉じないでください。具体的な実装では、エラーが発生した場合に
SQLException
SE をスローすることがありますが、代わりに特定のScriptException
をスローすることを強くお勧めします。例: Spring のResourceDatabasePopulator
およびDatabasePopulatorUtils
は、すべてのSQLExceptions
をScriptExceptions
にラップします。- 次で指定:
- インターフェース
DatabasePopulator
のpopulate
- パラメーター:
connection
- 使用する JDBC 接続。すでに構成され、使用する準備ができています。非null
- 例外:
ScriptException
- 他のすべてのエラーの場合- 関連事項:
execute
このResourceDatabasePopulator
を指定されたDataSource
SE に対して実行します。- パラメーター:
dataSource
- 実行するDataSource
(非null
)- 例外:
ScriptException
- エラーが発生した場合- 導入:
- 4.1
- 関連事項: