public class ResourceDatabasePopulator extends ObjectSE 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, StringSE sqlScriptEncoding, Resource... scripts) 指定された値で新しい ResourceDatabasePopulator を構築します。 |
ResourceDatabasePopulator(Resource... scripts) 提供されたスクリプトのデフォルト設定で新しい ResourceDatabasePopulator を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addScript(Resource script) データベースを初期化またはクリーンアップするために実行するスクリプトを追加します。 |
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) 失敗した SQL DROP ステートメントを無視できることを示すフラグ。 |
void | setScripts(Resource... scripts) 実行するスクリプトを設定して、データベースを初期化またはクリーンアップし、以前に追加したスクリプトを置き換えます。 |
void | setSeparator(StringSE separator) カスタムの場合は、ステートメントの区切り記号を指定します。 |
void | setSqlScriptEncoding(StringSE sqlScriptEncoding) 構成された SQL スクリプトのエンコードを指定します(プラットフォームのエンコードと異なる場合)。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ResourceDatabasePopulator()
ResourceDatabasePopulator
を構築します。public ResourceDatabasePopulator(Resource... scripts)
ResourceDatabasePopulator
を構築します。scripts
- データベースを初期化またはクリーンアップするために実行するスクリプト (非 null
)public ResourceDatabasePopulator(boolean continueOnError, boolean ignoreFailedDrops, @Nullable StringSE 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 StringSE sqlScriptEncoding)
sqlScriptEncoding
- スクリプトで使用されるエンコーディング (null
またはプラットフォームのエンコーディングを示す空の場合があります)addScript(Resource)
public void setSeparator(StringSE separator)
指定しない場合はデフォルトで ";"
になり、最後の手段として "\n"
にフォールバックします。ScriptUtils.EOF_STATEMENT_SEPARATOR
に設定すると、各スクリプトに区切り文字のない単一のステートメントが含まれることを通知できます。
separator
- スクリプトステートメントセパレーター public void setCommentPrefix(StringSE commentPrefix)
デフォルトは "--"
です。
commentPrefix
- 単一行コメントの接頭辞 setCommentPrefixes(String...)
public void setCommentPrefixes(StringSE... commentPrefixes)
デフォルトは ["--"]
です。
commentPrefixes
- 単一行コメントの接頭辞 public void setBlockCommentStartDelimiter(StringSE blockCommentStartDelimiter)
デフォルトは "/*"
です。
blockCommentStartDelimiter
- ブロックコメントの開始区切り文字 (null
または空ではありません)setBlockCommentEndDelimiter(java.lang.String)
public void setBlockCommentEndDelimiter(StringSE 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(ConnectionSE connection) throws ScriptException
具体的な実装では、エラーが発生した場合に SQLException
SE をスローすることがありますが、代わりに特定の ScriptException
をスローすることを強くお勧めします。例: Spring の ResourceDatabasePopulator
および DatabasePopulatorUtils
は、すべての SQLExceptions
を ScriptExceptions
にラップします。
DatabasePopulator
の populate
connection
- db の入力に使用する JDBC 接続。構成済みですぐに使用できます。null
ScriptException
- 他のすべてのエラーの場合 execute(DataSource)
public void execute(DataSourceSE dataSource) throws ScriptException
ResourceDatabasePopulator
を指定された DataSource
SE に対して実行します。dataSource
- 実行する DataSource
(非 null
)ScriptException
- エラーが発生した場合 populate(Connection)