クラス ScriptUtils
主にフレームワーク内での内部使用向け。
- 導入:
- 4.0.3
- 作成者:
- Thomas Risberg, Sam Brannen, Juergen Hoeller, Keith Donald, Dave Syer, Chris Beams, Oliver Gierke, Chris Baldwin, Nicolas Debeissat, Phillip Webb
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final StringSE
SQL スクリプト内のブロックコメントのデフォルトの終了区切り文字:"*/"
。static final StringSE
SQL スクリプト内のブロックコメントのデフォルトの開始区切り文字:"/*"
。static final StringSE
SQL スクリプト内の単一行コメントのデフォルトのプレフィックス:"--"
。static final StringSE[]
SQL スクリプト内の単一行コメントのデフォルトの接頭部:["--"]
。static final StringSE
SQL スクリプト内のデフォルトのステートメント区切り文字:";"
。static final StringSE
ファイルの終わり(EOF)SQL ステートメントの区切り文字:"^^^ END OF SCRIPT ^^^"
。static final StringSE
SQL スクリプト内のフォールバックステートメントの区切り文字:"\n"
。コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明static boolean
containsSqlScriptDelimiters
(StringSE script, StringSE delimiter) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static void
executeSqlScript
(ConnectionSE connection, Resource resource) ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。static void
executeSqlScript
(ConnectionSE connection, EncodedResource resource) ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。static void
executeSqlScript
(ConnectionSE connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, StringSE[] commentPrefixes, StringSE separator, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter) 指定された SQL スクリプトを実行します。static void
executeSqlScript
(ConnectionSE connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, StringSE commentPrefix, StringSE separator, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter) 指定された SQL スクリプトを実行します。static StringSE
readScript
(LineNumberReaderSE lineNumberReader, StringSE[] commentPrefixes, StringSE separator, StringSE blockCommentEndDelimiter) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static StringSE
readScript
(LineNumberReaderSE lineNumberReader, StringSE commentPrefix, StringSE separator, StringSE blockCommentEndDelimiter) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static void
splitSqlScript
(StringSE script, char separator, ListSE<StringSE> statements) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static void
splitSqlScript
(StringSE script, StringSE separator, ListSE<StringSE> statements) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static void
splitSqlScript
(EncodedResource resource, StringSE script, StringSE separator, StringSE[] commentPrefixes, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter, ListSE<StringSE> statements) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。static void
splitSqlScript
(EncodedResource resource, StringSE script, StringSE separator, StringSE commentPrefix, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter, ListSE<StringSE> statements) 使用すべきではありません。Spring Framework 5.2.16 の時点で交換の予定はありません。
フィールドの詳細
DEFAULT_STATEMENT_SEPARATOR
SQL スクリプト内のデフォルトのステートメント区切り文字:";"
。- 関連事項:
FALLBACK_STATEMENT_SEPARATOR
SQL スクリプト内のフォールバックステートメントの区切り文字:"\n"
。特定のスクリプトにカスタムセパレータも
DEFAULT_STATEMENT_SEPARATOR
も存在しない場合に使用されます。- 関連事項:
EOF_STATEMENT_SEPARATOR
ファイルの終わり(EOF)SQL ステートメントの区切り文字:"^^^ END OF SCRIPT ^^^"
。この値は、
separator
からexecuteSqlScript(Connection, EncodedResource, boolean, boolean, String, String, String, String)
として提供され、SQL スクリプトに、明示的なステートメント区切り文字のない単一のステートメント(複数行にわたる可能性がある)が含まれていることを示します。このようなスクリプトには、実際にはこの値を含めないでください。これは単なる仮想ステートメントセパレータです。- 関連事項:
DEFAULT_COMMENT_PREFIX
SQL スクリプト内の単一行コメントのデフォルトのプレフィックス:"--"
。- 関連事項:
DEFAULT_COMMENT_PREFIXES
SQL スクリプト内の単一行コメントのデフォルトの接頭部:["--"]
。- 導入:
- 5.2
DEFAULT_BLOCK_COMMENT_START_DELIMITER
SQL スクリプト内のブロックコメントのデフォルトの開始区切り文字:"/*"
。- 関連事項:
DEFAULT_BLOCK_COMMENT_END_DELIMITER
SQL スクリプト内のブロックコメントのデフォルトの終了区切り文字:"*/"
。- 関連事項:
コンストラクターの詳細
ScriptUtils
public ScriptUtils()
メソッドの詳細
executeSqlScript
public static void executeSqlScript(ConnectionSE connection, Resource resource) throws ScriptException ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された
Connection
SE を解放しません。- パラメーター:
connection
- スクリプトの実行に使用する JDBC 接続。構成済みですぐに使用できますresource
- SQL スクリプトをロードするリソース。現在のプラットフォームのデフォルトのエンコーディングでエンコード- 例外:
ScriptException
- SQL スクリプトの実行中にエラーが発生した場合- 関連事項:
executeSqlScript(Connection, EncodedResource, boolean, boolean, String, String, String, String)
DEFAULT_STATEMENT_SEPARATOR
DEFAULT_COMMENT_PREFIX
DEFAULT_BLOCK_COMMENT_START_DELIMITER
DEFAULT_BLOCK_COMMENT_END_DELIMITER
DataSourceUtils.getConnection(javax.sql.DataSource)
DataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)
executeSqlScript
public static void executeSqlScript(ConnectionSE connection, EncodedResource resource) throws ScriptException ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された
Connection
SE を解放しません。- パラメーター:
connection
- スクリプトの実行に使用する JDBC 接続。構成済みですぐに使用できますresource
- SQL スクリプトをロードするリソース(特定のエンコーディングに関連付けられている可能性があります)- 例外:
ScriptException
- SQL スクリプトの実行中にエラーが発生した場合- 関連事項:
executeSqlScript(Connection, EncodedResource, boolean, boolean, String, String, String, String)
DEFAULT_STATEMENT_SEPARATOR
DEFAULT_COMMENT_PREFIX
DEFAULT_BLOCK_COMMENT_START_DELIMITER
DEFAULT_BLOCK_COMMENT_END_DELIMITER
DataSourceUtils.getConnection(javax.sql.DataSource)
DataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)
executeSqlScript
public static void executeSqlScript(ConnectionSE connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, StringSE commentPrefix, @Nullable StringSE separator, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter) throws ScriptException 指定された SQL スクリプトを実行します。提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された
Connection
SE を解放しません。- パラメーター:
connection
- スクリプトの実行に使用する JDBC 接続。構成済みですぐに使用できますresource
- SQL スクリプトをロードするリソース(特定のエンコーディングに関連付けられている可能性があります)continueOnError
- エラーが発生した場合に例外をスローせずに続行するかどうかignoreFailedDrops
-DROP
ステートメントで特にエラーが発生した場合に続行するかどうかcommentPrefix
- SQL スクリプトの単一行コメントを識別する接頭辞 (通常は "-" )separator
- スクリプトステートメントの区切り文字。指定されていない場合のデフォルトは ";" で、最後の手段として "\n" にフォールバックします。「^^^ スクリプトの終わり ^^^」に設定して、スクリプトにセパレータのない単一のステートメントが含まれていることを通知できますblockCommentStartDelimiter
- 開始ブロックのコメント区切り文字blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字- 例外:
ScriptException
- SQL スクリプトの実行中にエラーが発生した場合- 関連事項:
executeSqlScript
public static void executeSqlScript(ConnectionSE connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, StringSE[] commentPrefixes, @Nullable StringSE separator, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter) throws ScriptException 指定された SQL スクリプトを実行します。提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された
Connection
SE を解放しません。- パラメーター:
connection
- スクリプトの実行に使用する JDBC 接続。構成済みですぐに使用できますresource
- SQL スクリプトをロードするリソース(特定のエンコーディングに関連付けられている可能性があります)continueOnError
- エラーが発生した場合に例外をスローせずに続行するかどうかignoreFailedDrops
-DROP
ステートメントで特にエラーが発生した場合に続行するかどうかcommentPrefixes
- SQL スクリプトの単一行コメントを識別する接頭辞 (通常は "-" )separator
- スクリプトステートメントの区切り文字。指定されていない場合のデフォルトは ";" で、最後の手段として "\n" にフォールバックします。「^^^ スクリプトの終わり ^^^」に設定して、スクリプトにセパレータのない単一のステートメントが含まれていることを通知できますblockCommentStartDelimiter
- 開始ブロックのコメント区切り文字blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字- 例外:
ScriptException
- SQL スクリプトの実行中にエラーが発生した場合- 導入:
- 5.2
- 関連事項:
readScript
@DeprecatedSE public static StringSE readScript(LineNumberReaderSE lineNumberReader, @Nullable StringSE commentPrefix, @Nullable StringSE separator, @Nullable StringSE blockCommentEndDelimiter) throws IOExceptionSE 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。提供されたコメント接頭辞とステートメント区切り文字を使用して、提供されたLineNumberReader
からスクリプトを読み取り、行を含むString
を構築します。コメント接頭辞で始まる行は結果から除外されます。ただし、他の場所(たとえば、ステートメント内)の行コメントは結果に含まれます。
- パラメーター:
lineNumberReader
- 処理するスクリプトを含むLineNumberReader
commentPrefix
- SQL スクリプトのコメントを識別する接頭辞 (通常は "-" )separator
- SQL スクリプトのステートメント区切り文字 (通常は ";" )blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字- 戻り値:
- スクリプト行を含む
String
- 例外:
IOExceptionSE
- I/O エラーの場合
readScript
@DeprecatedSE public static StringSE readScript(LineNumberReaderSE lineNumberReader, @Nullable StringSE[] commentPrefixes, @Nullable StringSE separator, @Nullable StringSE blockCommentEndDelimiter) throws IOExceptionSE 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。提供されたコメント接頭辞とステートメント区切り文字を使用して、提供されたLineNumberReader
からスクリプトを読み取り、行を含むString
を構築します。コメント接頭辞のいずれかで始まる行は結果から除外されます。ただし、他の場所(たとえば、ステートメント内)の行コメントは結果に含まれます。
- パラメーター:
lineNumberReader
- 処理するスクリプトを含むLineNumberReader
commentPrefixes
- SQL スクリプト内のコメントを識別する接頭辞 (通常は "-" )separator
- SQL スクリプトのステートメント区切り文字 (通常は ";" )blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字- 戻り値:
- スクリプト行を含む
String
- 例外:
IOExceptionSE
- I/O エラーの場合- 導入:
- 5.2
containsSqlScriptDelimiters
@DeprecatedSE public static boolean containsSqlScriptDelimiters(StringSE script, StringSE delimiter) 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。提供された SQL スクリプトに指定された区切り文字が含まれているかどうかを判別します。このメソッドは、各 SQL ステートメントを区切る文字列を見つけるために使用することを目的としています。たとえば、";" キャラクター。
スクリプト内での区切り文字の出現は、一重引用符(
'
)または二重引用符("
)で囲まれたテキストのリテラルブロック内にある場合、バックスラッシュでエスケープされている場合(\
)、または内にある場合は無視されます。単一行のコメントまたはブロックコメント。- パラメーター:
script
- 検索する SQL スクリプトdelimiter
- 検索するステートメント区切り文字- 関連事項:
splitSqlScript
@DeprecatedSE public static void splitSqlScript(StringSE script, char separator, ListSE<StringSE> statements) throws ScriptException 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。SQL スクリプトを、提供された区切り文字で区切られた個別のステートメントに分割します。個々のステートメントは、提供されたList
に追加されます。スクリプト内では、"--" がコメント接頭辞として使用されます。コメント接頭辞で始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、"/*" および "*/" は、ブロックコメントの開始および終了の区切り文字として使用されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。
- パラメーター:
script
- SQL スクリプトseparator
- 各ステートメントを区切る文字 (通常は ";" )statements
- 個々のステートメントを含むリスト- 例外:
ScriptException
- SQL スクリプトの分割中にエラーが発生した場合- 関連事項:
splitSqlScript
@DeprecatedSE public static void splitSqlScript(StringSE script, StringSE separator, ListSE<StringSE> statements) throws ScriptException 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。SQL スクリプトを、提供された区切り文字列で区切られた個別のステートメントに分割します。個々のステートメントは、提供されたList
に追加されます。スクリプト内では、"--" がコメント接頭辞として使用されます。コメント接頭辞で始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、"/*" および "*/" は、ブロックコメントの開始および終了の区切り文字として使用されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。
- パラメーター:
script
- SQL スクリプトseparator
- 各ステートメントを区切るテキスト (通常は ";" または改行文字)statements
- 個々のステートメントを含むリスト- 例外:
ScriptException
- SQL スクリプトの分割中にエラーが発生した場合- 関連事項:
splitSqlScript
@DeprecatedSE public static void splitSqlScript(@Nullable EncodedResource resource, StringSE script, StringSE separator, StringSE commentPrefix, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter, ListSE<StringSE> statements) throws ScriptException 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。SQL スクリプトを、提供された区切り文字列で区切られた個別のステートメントに分割します。個々のステートメントは、提供されたList
に追加されます。スクリプト内では、提供された
commentPrefix
が優先されます。コメントプレフィックスで始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、提供されたblockCommentStartDelimiter
およびblockCommentEndDelimiter
区切り文字が優先されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。- パラメーター:
resource
- スクリプトが読み込まれたリソースscript
- SQL スクリプトseparator
- 各ステートメントを区切るテキスト (通常は ";" または改行文字)commentPrefix
- SQL 行コメントを識別する接頭辞 (通常は "-" )blockCommentStartDelimiter
- 開始ブロックのコメント区切り文字。null
または空ではありませんblockCommentEndDelimiter
- 終了ブロックのコメント区切り文字。null
または空ではありませんstatements
- 個々のステートメントを含むリスト- 例外:
ScriptException
- SQL スクリプトの分割中にエラーが発生した場合
splitSqlScript
@DeprecatedSE public static void splitSqlScript(@Nullable EncodedResource resource, StringSE script, StringSE separator, StringSE[] commentPrefixes, StringSE blockCommentStartDelimiter, StringSE blockCommentEndDelimiter, ListSE<StringSE> statements) throws ScriptException 使用すべきではありません。Spring Framework 5.2.16 の時点で、代替の予定はありません。これは内部 API であり、Spring Framework 6.0 で削除される可能性があります。SQL スクリプトを、提供された区切り文字列で区切られた個別のステートメントに分割します。個々のステートメントは、提供されたList
に追加されます。スクリプト内では、提供された
commentPrefixes
が優先されます。コメントプレフィックスの 1 つで始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、提供されたblockCommentStartDelimiter
およびblockCommentEndDelimiter
区切り文字が優先されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。- パラメーター:
resource
- スクリプトが読み込まれたリソースscript
- SQL スクリプトseparator
- 各ステートメントを区切るテキスト (通常は ";" または改行文字)commentPrefixes
- SQL 行コメントを識別する接頭辞 (通常は "-" )blockCommentStartDelimiter
- 開始ブロックのコメント区切り文字。null
または空ではありませんblockCommentEndDelimiter
- 終了ブロックのコメント区切り文字。null
または空ではありませんstatements
- 個々のステートメントを含むリスト- 例外:
ScriptException
- SQL スクリプトの分割中にエラーが発生した場合- 導入:
- 5.2