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