インターフェース LobCreator
- すべてのスーパーインターフェース:
AutoCloseableSE
,CloseableSE
- すべての既知の実装クラス:
DefaultLobHandler.DefaultLobCreator
,TemporaryLobCreator
大きなバイナリフィールドと大きなテキストフィールドのデータベース固有の作成を抽象化するインターフェース。一部の JDBC ドライバーはこれらの型をサポートしていないため、API の
java.sql.Blob
および java.sql.Clob
インスタンスでは機能しません。 通常、LobHandler
の実装が異なるのは LOB 作成部分です。考えられる戦略には、PreparedStatement.setBinaryStream/setCharacterStream
の使用だけでなく、ストリーム引数または java.sql.Blob/Clob
ラッパーオブジェクトを使用した PreparedStatement.setBlob/setClob
の使用も含まれます。
LobCreator は BLOB を作成するためのセッションを表します。これはスレッドセーフではなく、ステートメントの実行ごとまたはトランザクションごとにインスタンス化する必要があります。各 LobCreator は完了後に閉じる必要があります。
PreparedStatement と LobCreator を使いやすくするために、AbstractLobCreatingPreparedStatementCallback
実装で JdbcTemplate
を使用することを検討してください。詳細については、後者の javadoc を参照してください。
- 導入:
- 04.12.2003
- 作成者:
- Juergen Hoeller
- 関連事項:
close()
LobHandler.getLobCreator()
DefaultLobHandler.DefaultLobCreator
PreparedStatement.setBlob(int, java.sql.Blob)
SEPreparedStatement.setClob(int, java.sql.Clob)
SEPreparedStatement.setBytes(int, byte[])
SEPreparedStatement.setBinaryStream(int, java.io.InputStream, int)
SEPreparedStatement.setString(int, java.lang.String)
SEPreparedStatement.setAsciiStream(int, java.io.InputStream, int)
SEPreparedStatement.setCharacterStream(int, java.io.Reader, int)
SE
メソッドのサマリー
修飾子と型メソッド説明void
close()
この LobCreator セッションを閉じて、一時的に作成された BLOB と CLOB を解放します。void
setBlobAsBinaryStream
(PreparedStatementSE ps, int paramIndex, InputStreamSE contentStream, int contentLength) 指定されたパラメーターインデックスを使用して、指定されたコンテンツを指定されたステートメントのバイナリストリームとして設定します。void
setBlobAsBytes
(PreparedStatementSE ps, int paramIndex, byte[] content) 指定されたパラメーターインデックスを使用して、指定されたステートメントで指定されたコンテンツをバイトとして設定します。void
setClobAsAsciiStream
(PreparedStatementSE ps, int paramIndex, InputStreamSE asciiStream, int contentLength) 指定されたパラメーターインデックスを使用して、指定されたステートメントの ASCII ストリームとして指定されたコンテンツを設定します。void
setClobAsCharacterStream
(PreparedStatementSE ps, int paramIndex, ReaderSE characterStream, int contentLength) 指定されたパラメーターインデックスを使用して、指定された文の文字ストリームとして指定されたコンテンツを設定します。void
setClobAsString
(PreparedStatementSE ps, int paramIndex, StringSE content) 指定されたパラメーターインデックスを使用して、指定されたステートメントで指定されたコンテンツを文字列として設定します。
メソッドの詳細
setBlobAsBytes
void setBlobAsBytes(PreparedStatementSE ps, int paramIndex, @Nullable byte[] content) throws SQLExceptionSE 指定されたパラメーターインデックスを使用して、指定されたステートメントで指定されたコンテンツをバイトとして設定します。データベースとドライバーに応じて、PreparedStatement.setBytes
を単に呼び出すか、そのための Blob インスタンスを作成するだけです。- パラメーター:
ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックスcontent
- バイト配列としてのコンテンツ、または SQL NULL の場合はnull
- 例外:
SQLExceptionSE
- JDBC メソッドによってスローされた場合- 関連事項:
setBlobAsBinaryStream
void setBlobAsBinaryStream(PreparedStatementSE ps, int paramIndex, @Nullable InputStreamSE contentStream, int contentLength) throws SQLExceptionSE 指定されたパラメーターインデックスを使用して、指定されたコンテンツを指定されたステートメントのバイナリストリームとして設定します。データベースとドライバーに応じて、PreparedStatement.setBinaryStream
を単に呼び出すか、そのための Blob インスタンスを作成するだけです。- パラメーター:
ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックスcontentStream
- バイナリストリームとしてのコンテンツ、または SQL NULL の場合はnull
- 例外:
SQLExceptionSE
- JDBC メソッドによってスローされた場合- 関連事項:
setClobAsString
void setClobAsString(PreparedStatementSE ps, int paramIndex, @Nullable StringSE content) throws SQLExceptionSE 指定されたパラメーターインデックスを使用して、指定されたステートメントで指定されたコンテンツを文字列として設定します。データベースとドライバーに応じて、単にPreparedStatement.setString
を呼び出すか、そのための Clob インスタンスを作成します。- パラメーター:
ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックスcontent
- 文字列としてのコンテンツ、または SQL NULL の場合はnull
- 例外:
SQLExceptionSE
- JDBC メソッドによってスローされた場合- 関連事項:
setClobAsAsciiStream
void setClobAsAsciiStream(PreparedStatementSE ps, int paramIndex, @Nullable InputStreamSE asciiStream, int contentLength) throws SQLExceptionSE 指定されたパラメーターインデックスを使用して、指定されたステートメントの ASCII ストリームとして指定されたコンテンツを設定します。データベースとドライバーに応じて、単にPreparedStatement.setAsciiStream
を呼び出すか、そのための Clob インスタンスを作成します。- パラメーター:
ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックスasciiStream
- ASCII ストリームとしてのコンテンツ、または SQL NULL の場合はnull
- 例外:
SQLExceptionSE
- JDBC メソッドによってスローされた場合- 関連事項:
setClobAsCharacterStream
void setClobAsCharacterStream(PreparedStatementSE ps, int paramIndex, @Nullable ReaderSE characterStream, int contentLength) throws SQLExceptionSE 指定されたパラメーターインデックスを使用して、指定された文の文字ストリームとして指定されたコンテンツを設定します。データベースとドライバーに応じて、単にPreparedStatement.setCharacterStream
を呼び出すか、そのための Clob インスタンスを作成します。- パラメーター:
ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックスcharacterStream
- 文字ストリームとしてのコンテンツ、または SQL NULL の場合はnull
- 例外:
SQLExceptionSE
- JDBC メソッドによってスローされた場合- 関連事項:
close
void close()この LobCreator セッションを閉じて、一時的に作成された BLOB と CLOB を解放します。PreparedStatement の標準メソッドを使用する場合は何もする必要はありませんが、独自の手段を使用する場合はデータベースリソースを解放する必要がある場合があります。注意 : 関連する PreparedStatements が実行された後、または影響を受けた O/R マッピングセッションがフラッシュされた後に呼び出す必要があります。そうしないと、一時 BLOB のデータベースリソースが割り当てられたままになる可能性があります。
- 次で指定:
- インターフェース
AutoCloseableSE
のclose
- 次で指定:
- インターフェース
CloseableSE
のclose