|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Interface that abstracts potentially database-specific creation of large binary fields and large text fields. Does not work with java.sql.Blob and java.sql.Clob instances in the API, as some JDBC drivers do not support these types as such.
A LobCreator represents a session for creating BLOBs: It is not thread-safe and needs to be instantiated for each statement execution or for each transaction. Each LobCreator needs to be closed after completion.
For convenient working with a PreparedStatement and a LobCreator, consider JdbcTemplate with a AbstractLobCreatingPreparedStatementCallback implementation. See the latter's javadoc for details.
close()
,
LobHandler.getLobCreator()
,
AbstractLobCreatingPreparedStatementCallback
,
DefaultLobHandler.DefaultLobCreator
,
OracleLobHandler.OracleLobCreator
,
PreparedStatement.setBytes(int, byte[])
,
PreparedStatement.setBinaryStream(int, java.io.InputStream, int)
,
PreparedStatement.setString(int, java.lang.String)
,
PreparedStatement.setAsciiStream(int, java.io.InputStream, int)
,
PreparedStatement.setCharacterStream(int, java.io.Reader, int)
Method Summary | |
void |
close()
Close this LobCreator session and free its temporarily created BLOBs and CLOBs. |
void |
setBlobAsBinaryStream(java.sql.PreparedStatement ps,
int paramIndex,
java.io.InputStream contentStream,
int contentLength)
Set the given content as binary stream on the given statement, using the given parameter index. |
void |
setBlobAsBytes(java.sql.PreparedStatement ps,
int paramIndex,
byte[] content)
Set the given content as bytes on the given statement, using the given parameter index. |
void |
setClobAsAsciiStream(java.sql.PreparedStatement ps,
int paramIndex,
java.io.InputStream asciiStream,
int contentLength)
Set the given content as ASCII stream on the given statement, using the given parameter index. |
void |
setClobAsCharacterStream(java.sql.PreparedStatement ps,
int paramIndex,
java.io.Reader characterStream,
int contentLength)
Set the given content as character stream on the given statement, using the given parameter index. |
void |
setClobAsString(java.sql.PreparedStatement ps,
int paramIndex,
java.lang.String content)
Set the given content as String on the given statement, using the given parameter index. |
Method Detail |
public void setBlobAsBytes(java.sql.PreparedStatement ps, int paramIndex, byte[] content) throws java.sql.SQLException
ps
- the PreparedStatement to the set the content onparamIndex
- the parameter index to usecontent
- the content as byte array, or null for SQL NULL
java.sql.SQLException
- if thrown by JDBC methodsPreparedStatement.setBytes(int, byte[])
public void setBlobAsBinaryStream(java.sql.PreparedStatement ps, int paramIndex, java.io.InputStream contentStream, int contentLength) throws java.sql.SQLException
ps
- the PreparedStatement to the set the content onparamIndex
- the parameter index to usecontentStream
- the content as binary stream, or null for SQL NULL
java.sql.SQLException
- if thrown by JDBC methodsPreparedStatement.setBinaryStream(int, java.io.InputStream, int)
public void setClobAsString(java.sql.PreparedStatement ps, int paramIndex, java.lang.String content) throws java.sql.SQLException
ps
- the PreparedStatement to the set the content onparamIndex
- the parameter index to usecontent
- the content as String, or null for SQL NULL
java.sql.SQLException
- if thrown by JDBC methodsPreparedStatement.setBytes(int, byte[])
public void setClobAsAsciiStream(java.sql.PreparedStatement ps, int paramIndex, java.io.InputStream asciiStream, int contentLength) throws java.sql.SQLException
ps
- the PreparedStatement to the set the content onparamIndex
- the parameter index to useasciiStream
- the content as ASCII stream, or null for SQL NULL
java.sql.SQLException
- if thrown by JDBC methodsPreparedStatement.setBinaryStream(int, java.io.InputStream, int)
public void setClobAsCharacterStream(java.sql.PreparedStatement ps, int paramIndex, java.io.Reader characterStream, int contentLength) throws java.sql.SQLException
ps
- the PreparedStatement to the set the content onparamIndex
- the parameter index to usecharacterStream
- the content as character stream, or null for SQL NULL
java.sql.SQLException
- if thrown by JDBC methodsPreparedStatement.setBinaryStream(int, java.io.InputStream, int)
public void close()
NOTE: Needs to be invoked after the involved PreparedStatements have been executed respectively the affected O/R mapping sessions have been flushed. Else, the database resources for the temporary BLOBs might stay allocated.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |