public abstract class ScriptUtils
extends java.lang.Object
主にフレームワーク内での内部使用向け。
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | DEFAULT_BLOCK_COMMENT_END_DELIMITER SQL スクリプト内のブロックコメントのデフォルトの終了区切り文字: "*/" 。 |
static java.lang.String | DEFAULT_BLOCK_COMMENT_START_DELIMITER SQL スクリプト内のブロックコメントのデフォルトの開始区切り文字: "/*" 。 |
static java.lang.String | DEFAULT_COMMENT_PREFIX SQL スクリプト内の単一行コメントのデフォルトのプレフィックス: "--" 。 |
static java.lang.String | DEFAULT_STATEMENT_SEPARATOR SQL スクリプト内のデフォルトのステートメント区切り文字: ";" 。 |
static java.lang.String | EOF_STATEMENT_SEPARATOR ファイルの終わり(EOF)SQL ステートメントの区切り文字: "^^^ END OF SCRIPT ^^^" 。 |
static java.lang.String | FALLBACK_STATEMENT_SEPARATOR SQL スクリプト内のフォールバックステートメントの区切り文字: "\n" 。 |
コンストラクターと説明 |
---|
ScriptUtils() |
修飾子と型 | メソッドと説明 |
---|---|
static boolean | containsSqlScriptDelimiters(java.lang.String script, java.lang.String delim) 提供された SQL スクリプトには、指定された区切り文字が含まれているか判定します。 |
static void | executeSqlScript(java.sql.Connection connection, EncodedResource resource) ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。 |
static void | executeSqlScript(java.sql.Connection connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, java.lang.String commentPrefix, java.lang.String separator, java.lang.String blockCommentStartDelimiter, java.lang.String blockCommentEndDelimiter) 指定された SQL スクリプトを実行します。 |
static void | executeSqlScript(java.sql.Connection connection, Resource resource) ステートメント区切り文字、コメント区切り文字、例外処理フラグのデフォルト設定を使用して、指定された SQL スクリプトを実行します。 |
static java.lang.String | readScript(java.io.LineNumberReader lineNumberReader, java.lang.String commentPrefix, java.lang.String separator) 提供されたコメント接頭辞とステートメント区切り文字を使用して、提供された LineNumberReader からスクリプトを読み取り、行を含む String を構築します。 |
static void | splitSqlScript(EncodedResource resource, java.lang.String script, java.lang.String separator, java.lang.String commentPrefix, java.lang.String blockCommentStartDelimiter, java.lang.String blockCommentEndDelimiter, java.util.List<java.lang.String> statements) SQL スクリプトを、指定された区切り文字列で区切られた個別のステートメントに分割します。 |
static void | splitSqlScript(java.lang.String script, char separator, java.util.List<java.lang.String> statements) SQL スクリプトを、提供された区切り文字で区切られた個別のステートメントに分割します。 |
static void | splitSqlScript(java.lang.String script, java.lang.String separator, java.util.List<java.lang.String> statements) SQL スクリプトを、指定された区切り文字列で区切られた個別のステートメントに分割します。 |
public static final java.lang.String DEFAULT_STATEMENT_SEPARATOR
";"
。public static final java.lang.String FALLBACK_STATEMENT_SEPARATOR
"\n"
。 特定のスクリプトにカスタムセパレータも DEFAULT_STATEMENT_SEPARATOR
も存在しない場合に使用されます。
public static final java.lang.String EOF_STATEMENT_SEPARATOR
"^^^ END OF SCRIPT ^^^"
。 この値は、separator
から executeSqlScript(Connection, EncodedResource, boolean, boolean, String, String, String, String)
として提供され、SQL スクリプトに、明示的なステートメント区切り文字のない単一のステートメント(複数行にわたる可能性がある)が含まれていることを示します。このようなスクリプトには、実際にはこの値を含めないでください。これは単なる仮想ステートメントセパレータです。
public static final java.lang.String DEFAULT_COMMENT_PREFIX
"--"
。public static final java.lang.String DEFAULT_BLOCK_COMMENT_START_DELIMITER
"/*"
。public static final java.lang.String DEFAULT_BLOCK_COMMENT_END_DELIMITER
"*/"
。public static void splitSqlScript(java.lang.String script, char separator, java.util.List<java.lang.String> statements) throws ScriptException
List
に追加されます。スクリプト内では、"--" がコメント接頭辞として使用されます。コメント接頭辞で始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、"/*" および "*/" は、ブロックコメントの開始および終了の区切り文字として使用されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。
script
- SQL スクリプト separator
- 各ステートメントを区切る文字 — 通常は ";" statements
- 個々のステートメントを含むリスト ScriptException
- SQL スクリプトの分割中にエラーが発生した場合 splitSqlScript(String, String, List)
, splitSqlScript(EncodedResource, String, String, String, String, String, List)
public static void splitSqlScript(java.lang.String script, java.lang.String separator, java.util.List<java.lang.String> statements) throws ScriptException
List
に追加されます。スクリプト内では、"--" がコメント接頭辞として使用されます。コメント接頭辞で始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、"/*" および "*/" は、ブロックコメントの開始および終了の区切り文字として使用されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。
script
- SQL スクリプト separator
- 各ステートメントを区切るテキスト — 通常は ";" または改行文字 statements
- 個々のステートメントを含むリスト ScriptException
- SQL スクリプトの分割中にエラーが発生した場合 splitSqlScript(String, char, List)
, splitSqlScript(EncodedResource, String, String, String, String, String, List)
public static void splitSqlScript(@Nullable EncodedResource resource, java.lang.String script, java.lang.String separator, java.lang.String commentPrefix, java.lang.String blockCommentStartDelimiter, java.lang.String blockCommentEndDelimiter, java.util.List<java.lang.String> statements) throws ScriptException
List
に追加されます。 スクリプト内では、提供された commentPrefix
が優先されます。コメントプレフィックスで始まり、行の終わりまで続くテキストは、出力から省略されます。同様に、提供された blockCommentStartDelimiter
および blockCommentEndDelimiter
区切り文字が優先されます。ブロックコメントで囲まれたテキストは、出力から省略されます。さらに、隣接する複数の空白文字は 1 つのスペースに折りたたまれます。
resource
- スクリプトが読み込まれたリソース script
- SQL スクリプト。null
または空になることはありません separator
- 各ステートメントを区切るテキスト — 通常は ";" または改行文字。null
commentPrefix
- SQL 行コメントを識別する接頭辞 — 通常は "-" です。null
または空になることはありません blockCommentStartDelimiter
- 開始ブロックのコメント区切り文字。null
または空ではありません blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字。null
または空ではありません statements
- 個々のステートメントを含むリスト ScriptException
- SQL スクリプトの分割中にエラーが発生した場合 public static java.lang.String readScript(java.io.LineNumberReader lineNumberReader, @Nullable java.lang.String commentPrefix, @Nullable java.lang.String separator) throws java.io.IOException
LineNumberReader
からスクリプトを読み取り、行を含む String
を構築します。コメント接頭辞で始まる行は結果から除外されます。ただし、他の場所(たとえば、ステートメント内)の行コメントは結果に含まれます。
lineNumberReader
- 処理するスクリプトを含む LineNumberReader
commentPrefix
- SQL スクリプト内のコメントを識別する接頭辞 — 通常は "-" separator
- SQL スクリプトのステートメント区切り文字 — 通常は ";" String
java.io.IOException
- I/O エラーの場合 public static boolean containsSqlScriptDelimiters(java.lang.String script, java.lang.String delim)
script
- SQL スクリプト delim
- 各ステートメントを区切る文字列 - 通常は ";" キャラクター public static void executeSqlScript(java.sql.Connection connection, Resource resource) throws ScriptException
提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された Connection
を解放しません。
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)
public static void executeSqlScript(java.sql.Connection connection, EncodedResource resource) throws ScriptException
提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された Connection
を解放しません。
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)
public static void executeSqlScript(java.sql.Connection connection, EncodedResource resource, boolean continueOnError, boolean ignoreFailedDrops, java.lang.String commentPrefix, @Nullable java.lang.String separator, java.lang.String blockCommentStartDelimiter, java.lang.String blockCommentEndDelimiter) throws ScriptException
提供されたスクリプト内で個々のステートメントを実行する前に、ステートメントの区切り文字とコメントが削除されます。
警告 : このメソッドは提供された Connection
を解放しません。
connection
- スクリプトの実行に使用する JDBC 接続。構成済みですぐに使用できます resource
- SQL スクリプトをロードするリソース(特定のエンコーディングに関連付けられている可能性があります)continueOnError
- エラー発生時に例外をスローせずに続行するかどうか ignoreFailedDrops
- 特に DROP
ステートメントでエラーが発生した場合に続行するかどうか commentPrefix
- SQL スクリプトの単一行コメントを識別する接頭辞 — 通常は "-" separator
- スクリプトステートメントの区切り文字。指定されていない場合のデフォルトは ";" で、最後の手段として "\n" にフォールバックします。「^^^ スクリプトの終わり ^^^」に設定して、スクリプトにセパレータのない単一のステートメントが含まれていることを通知できます blockCommentStartDelimiter
- 開始ブロックのコメント区切り文字。null
または空ではありません blockCommentEndDelimiter
- 終了ブロックのコメント区切り文字。null
または空ではありません ScriptException
- SQL スクリプトの実行中にエラーが発生した場合 DEFAULT_STATEMENT_SEPARATOR
, FALLBACK_STATEMENT_SEPARATOR
, EOF_STATEMENT_SEPARATOR
, DataSourceUtils.getConnection(javax.sql.DataSource)
, DataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)