public interface LobCreator extends CloseableSE
java.sql.Blob
および java.sql.Clob
インスタンスでは機能しません。LOB の作成部分は、LobHandler
の実装が通常異なる場所です。可能な戦略には、PreparedStatement.setBinaryStream/setCharacterStream
の使用だけでなく、ストリーム引数(JDBC 4.0 が必要)または java.sql.Blob/Clob
ラッパーオブジェクトを使用した PreparedStatement.setBlob/setClob
の使用も含まれます。
LobCreator は BLOB を作成するためのセッションを表します。これはスレッドセーフではなく、ステートメントの実行ごとまたはトランザクションごとにインスタンス化する必要があります。各 LobCreator は完了後に閉じる必要があります。
PreparedStatement と LobCreator を使いやすくするために、AbstractLobCreatingPreparedStatementCallback
実装で JdbcTemplate
を使用することを検討してください。詳細については、後者の javadoc を参照してください。
close()
, LobHandler.getLobCreator()
, DefaultLobHandler.DefaultLobCreator
, PreparedStatement.setBlob(int, java.sql.Blob)
SE, PreparedStatement.setClob(int, java.sql.Clob)
SE, PreparedStatement.setBytes(int, byte[])
SE, PreparedStatement.setBinaryStream(int, java.io.InputStream, int)
SE, PreparedStatement.setString(int, java.lang.String)
SE, PreparedStatement.setAsciiStream(int, java.io.InputStream, int)
SE, PreparedStatement.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) 指定されたパラメーターインデックスを使用して、指定されたステートメントで指定されたコンテンツを文字列として設定します。 |
void setBlobAsBytes(PreparedStatementSE ps, int paramIndex, @Nullable byte[] content) throws SQLExceptionSE
PreparedStatement.setBytes
を単に呼び出すか、そのための Blob インスタンスを作成するだけです。ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックス content
- バイト配列としてのコンテンツ、または SQL NULL の場合は null
SQLExceptionSE
- JDBC メソッドによってスローされた場合 PreparedStatement.setBytes(int, byte[])
SEvoid setBlobAsBinaryStream(PreparedStatementSE ps, int paramIndex, @Nullable InputStreamSE contentStream, int contentLength) throws SQLExceptionSE
PreparedStatement.setBinaryStream
を単に呼び出すか、そのための Blob インスタンスを作成するだけです。ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックス contentStream
- バイナリストリームとしてのコンテンツ、または SQL NULL の場合は null
SQLExceptionSE
- JDBC メソッドによってスローされた場合 PreparedStatement.setBinaryStream(int, java.io.InputStream, int)
SEvoid setClobAsString(PreparedStatementSE ps, int paramIndex, @Nullable StringSE content) throws SQLExceptionSE
PreparedStatement.setString
を呼び出すか、そのための Clob インスタンスを作成します。ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックス content
- 文字列としてのコンテンツ、または SQL NULL の場合は null
SQLExceptionSE
- JDBC メソッドによってスローされた場合 PreparedStatement.setBytes(int, byte[])
SEvoid setClobAsAsciiStream(PreparedStatementSE ps, int paramIndex, @Nullable InputStreamSE asciiStream, int contentLength) throws SQLExceptionSE
PreparedStatement.setAsciiStream
を呼び出すか、そのための Clob インスタンスを作成します。ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックス asciiStream
- ASCII ストリームとしてのコンテンツ、または SQL NULL の場合は null
SQLExceptionSE
- JDBC メソッドによってスローされた場合 PreparedStatement.setAsciiStream(int, java.io.InputStream, int)
SEvoid setClobAsCharacterStream(PreparedStatementSE ps, int paramIndex, @Nullable ReaderSE characterStream, int contentLength) throws SQLExceptionSE
PreparedStatement.setCharacterStream
を呼び出すか、そのための Clob インスタンスを作成します。ps
- コンテンツを設定する PreparedStatementparamIndex
- 使用するパラメーターインデックス characterStream
- 文字ストリームとしてのコンテンツ、または SQL NULL の場合は null
SQLExceptionSE
- JDBC メソッドによってスローされた場合 PreparedStatement.setCharacterStream(int, java.io.Reader, int)
SEvoid close()
注意 : 関連する PreparedStatements が実行された後、または影響を受けた O/R マッピングセッションがフラッシュされた後に呼び出す必要があります。そうしないと、一時 BLOB のデータベースリソースが割り当てられたままになる可能性があります。
AutoCloseableSE
の closeSE
CloseableSE
の closeSE