クラス 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データベースを初期化またはクリーンアップするために実行するスクリプトを追加します。voidaddScripts(Resource... scripts) データベースを初期化またはクリーンアップするために実行する複数のスクリプトを追加します。voidexecute(DataSourceSE dataSource) このResourceDatabasePopulatorを指定されたDataSourceSE に対して実行します。voidpopulate(ConnectionSE connection) 提供された JDBC 接続を使用して、データベースにデータを入力、初期化、クリーンアップします。voidsetBlockCommentEndDelimiter(StringSE blockCommentEndDelimiter) SQL スクリプト内のブロックコメントを識別する終了区切り文字を設定します。voidsetBlockCommentStartDelimiter(StringSE blockCommentStartDelimiter) SQL スクリプト内のブロックコメントを識別する開始区切り文字を設定します。voidsetCommentPrefix(StringSE commentPrefix) SQL スクリプト内の単一行コメントを識別する接頭辞を設定します。voidsetCommentPrefixes(StringSE... commentPrefixes) SQL スクリプト内の単一行コメントを識別するプレフィックスを設定します。voidsetContinueOnError(boolean continueOnError) SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグ。voidsetIgnoreFailedDrops(boolean ignoreFailedDrops) 失敗した SQLDROPステートメントを無視できることを示すフラグ。voidsetScripts(Resource... scripts) 実行するスクリプトを設定して、データベースを初期化またはクリーンアップし、以前に追加したスクリプトを置き換えます。voidsetSeparator(StringSE separator) カスタムの場合は、ステートメントの区切り記号を指定します。voidsetSqlScriptEncoding(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 接続を使用して、データベースにデータを入力、初期化、クリーンアップします。警告 : 具体的な実装では、提供されている
ConnectionSE を閉じないでください。具体的な実装では、エラーが発生した場合に
SQLExceptionSE をスローすることがありますが、代わりに特定のScriptExceptionをスローすることを強くお勧めします。例: Spring のResourceDatabasePopulatorおよびDatabasePopulatorUtilsは、すべてのSQLExceptionsをScriptExceptionsにラップします。- 次で指定:
- インターフェース
DatabasePopulatorのpopulate - パラメーター:
connection- 使用する JDBC 接続。すでに構成され、使用する準備ができています。非null- 例外:
ScriptException- 他のすべてのエラーの場合- 関連事項:
execute
このResourceDatabasePopulatorを指定されたDataSourceSE に対して実行します。- パラメーター:
dataSource- 実行するDataSource(非null)- 例外:
ScriptException- エラーが発生した場合- 導入:
- 4.1
- 関連事項: