public class ResourceDatabasePopulator extends java.lang.Object implements DatabasePopulator
addScript(org.springframework.core.io.Resource)
を呼び出して、単一の SQL スクリプトの場所を追加します。addScripts(org.springframework.core.io.Resource...)
を呼び出して、複数の SQL スクリプトの場所を追加します。populate(java.sql.Connection)
または execute(javax.sql.DataSource)
を呼び出して、構成されたスクリプトを使用してデータベースを初期化またはクリーンアップします。DatabasePopulatorUtils
, ScriptUtils
コンストラクターと説明 |
---|
ResourceDatabasePopulator() デフォルト設定で新しい ResourceDatabasePopulator を構築します。 |
ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, java.lang.String sqlScriptEncoding, Resource... scripts) 指定された値で新しい ResourceDatabasePopulator を構築します。 |
ResourceDatabasePopulator(Resource... scripts) 提供されたスクリプトのデフォルト設定で新しい ResourceDatabasePopulator を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addScript(Resource script) データベースを初期化またはクリーンアップするために実行するスクリプトを追加します。 |
void | addScripts(Resource... scripts) データベースを初期化またはクリーンアップするために実行する複数のスクリプトを追加します。 |
void | execute(javax.sql.DataSource dataSource) 指定された DataSource に対してこの ResourceDatabasePopulator を実行します。 |
void | populate(java.sql.Connection connection) 提供された JDBC 接続を使用して、データベースにデータを入力、初期化、クリーンアップします。 |
void | setBlockCommentEndDelimiter(java.lang.String blockCommentEndDelimiter) SQL スクリプト内のブロックコメントを識別する終了区切り文字を設定します。 |
void | setBlockCommentStartDelimiter(java.lang.String blockCommentStartDelimiter) SQL スクリプト内のブロックコメントを識別する開始区切り文字を設定します。 |
void | setCommentPrefix(java.lang.String commentPrefix) SQL スクリプト内の単一行コメントを識別する接頭辞を設定します。 |
void | setContinueOnError(boolean continueOnError) SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグ。 |
void | setIgnoreFailedDrops(boolean ignoreFailedDrops) 失敗した SQL DROP ステートメントを無視できることを示すフラグ。 |
void | setScripts(Resource... scripts) 実行するスクリプトを設定して、データベースを初期化またはクリーンアップし、以前に追加したスクリプトを置き換えます。 |
void | setSeparator(java.lang.String separator) カスタムの場合は、ステートメントの区切り記号を指定します。 |
void | setSqlScriptEncoding(java.lang.String sqlScriptEncoding) 構成された SQL スクリプトのエンコードを指定します(プラットフォームのエンコードと異なる場合)。 |
public ResourceDatabasePopulator()
ResourceDatabasePopulator
を構築します。public ResourceDatabasePopulator(Resource... scripts)
ResourceDatabasePopulator
を構築します。scripts
- データベースを初期化またはクリーンアップするために実行するスクリプト (非 null
)public ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, @Nullable java.lang.String sqlScriptEncoding, Resource... scripts)
ResourceDatabasePopulator
を構築します。continueOnError
- SQL のすべての失敗をログに記録する必要があるが、失敗の原因にはならないことを示すフラグ ignoreFailedDrops
- 失敗した SQL DROP
ステートメントを無視できることを示すフラグ sqlScriptEncoding
- 提供された SQL スクリプトのエンコーディング。null
または空で、プラットフォームのエンコーディングを示します。scripts
- データベースを初期化またはクリーンアップするために実行するスクリプト (非 null
)public void addScript(Resource script)
script
- SQL スクリプトへのパス (非 null
)public void addScripts(Resource... scripts)
scripts
- 実行するスクリプト (非 null
)public void setScripts(Resource... scripts)
scripts
- 実行するスクリプト (非 null
)public void setSqlScriptEncoding(@Nullable java.lang.String sqlScriptEncoding)
sqlScriptEncoding
- スクリプトで使用されるエンコーディング。null
または空で、プラットフォームのエンコーディングを示します。addScript(Resource)
public void setSeparator(java.lang.String separator)
指定しない場合はデフォルトで ";"
になり、最後の手段として "\n"
にフォールバックします。ScriptUtils.EOF_STATEMENT_SEPARATOR
に設定すると、各スクリプトに区切り文字のない単一のステートメントが含まれることを通知できます。
separator
- スクリプトステートメントセパレーター public void setCommentPrefix(java.lang.String commentPrefix)
デフォルトは "--"
です。
commentPrefix
- 単一行コメントの接頭辞 public void setBlockCommentStartDelimiter(java.lang.String blockCommentStartDelimiter)
デフォルトは "/*"
です。
blockCommentStartDelimiter
- ブロックコメントの開始区切り文字 (null
または空ではありません)setBlockCommentEndDelimiter(java.lang.String)
public void setBlockCommentEndDelimiter(java.lang.String blockCommentEndDelimiter)
デフォルトは "*/"
です。
blockCommentEndDelimiter
- ブロックコメントの終了区切り文字 (null
または空ではありません)setBlockCommentStartDelimiter(java.lang.String)
public void setContinueOnError(boolean continueOnError)
デフォルトは false
です。
continueOnError
- スクリプトの実行をエラー時に続行する必要がある場合は true
public void setIgnoreFailedDrops(boolean ignoreFailedDrops)
DROP
ステートメントを無視できることを示すフラグ。 これは、SQL ダイアレクトが DROP
ステートメントの IF EXISTS
句をサポートしていない非埋め込みデータベースに役立ちます。
デフォルトは false
であるため、ポピュレーターが誤って実行された場合、スクリプトが DROP
ステートメントで開始すると、ポピュレーターはすぐに失敗します。
ignoreFailedDrops
- 失敗したドロップステートメントを無視する必要がある場合は true
public void populate(java.sql.Connection connection) throws ScriptException
具体的な実装では、エラーが発生した場合に SQLException
をスローする可能性がありますが、代わりに特定の ScriptException
をスローすることを強くお勧めします。例: Spring の ResourceDatabasePopulator
および DatabasePopulatorUtils
は、すべての SQLExceptions
を ScriptExceptions
でラップします。
DatabasePopulator
の populate
connection
- db の入力に使用する JDBC 接続。構成済みですぐに使用できます。null
ScriptException
- 他のすべてのエラーの場合 execute(DataSource)
public void execute(javax.sql.DataSource dataSource) throws ScriptException
DataSource
に対してこの ResourceDatabasePopulator
を実行します。dataSource
- 実行する DataSource
(非 null
)ScriptException
- エラーが発生した場合 populate(Connection)