protected class

OracleLobHandler.OracleLobCreator

extends Object
implements LobCreator
java.lang.Object
   ↳ org.springframework.jdbc.support.lob.OracleLobHandler.OracleLobCreator

Class Overview

LobCreator implementation for Oracle databases. Creates Oracle-style temporary BLOBs and CLOBs that it frees on close.

See Also

Summary

Protected Constructors
OracleLobHandler.OracleLobCreator()
Public Methods
void close()
Free all temporary BLOBs and CLOBs created by this creator.
void setBlobAsBinaryStream(PreparedStatement ps, int paramIndex, InputStream binaryStream, int contentLength)
Set the given content as binary stream on the given statement, using the given parameter index.
void setBlobAsBytes(PreparedStatement ps, int paramIndex, byte[] content)
Set the given content as bytes on the given statement, using the given parameter index.
void setClobAsAsciiStream(PreparedStatement ps, int paramIndex, InputStream asciiStream, int contentLength)
Set the given content as ASCII stream on the given statement, using the given parameter index.
void setClobAsCharacterStream(PreparedStatement ps, int paramIndex, Reader characterStream, int contentLength)
Set the given content as character stream on the given statement, using the given parameter index.
void setClobAsString(PreparedStatement ps, int paramIndex, String content)
Set the given content as String on the given statement, using the given parameter index.
Protected Methods
Object createLob(PreparedStatement ps, boolean clob, OracleLobHandler.LobCallback callback)
Create a LOB instance for the given PreparedStatement, populating it via the given callback.
Connection getOracleConnection(PreparedStatement ps)
Retrieve the underlying OracleConnection, using a NativeJdbcExtractor if set.
Object prepareLob(Connection con, Class lobClass)
Create and open an oracle.sql.BLOB/CLOB instance via reflection.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.jdbc.support.lob.LobCreator

Protected Constructors

protected OracleLobHandler.OracleLobCreator ()

Public Methods

public void close ()

Free all temporary BLOBs and CLOBs created by this creator.

public void setBlobAsBinaryStream (PreparedStatement ps, int paramIndex, InputStream binaryStream, int contentLength)

Set the given content as binary stream on the given statement, using the given parameter index. Might simply invoke PreparedStatement.setBinaryStream or create a Blob instance for it, depending on the database and driver.

Parameters
ps the PreparedStatement to the set the content on
paramIndex the parameter index to use
binaryStream the content as binary stream, or null for SQL NULL
Throws
SQLException

public void setBlobAsBytes (PreparedStatement ps, int paramIndex, byte[] content)

Set the given content as bytes on the given statement, using the given parameter index. Might simply invoke PreparedStatement.setBytes or create a Blob instance for it, depending on the database and driver.

Parameters
ps the PreparedStatement to the set the content on
paramIndex the parameter index to use
content the content as byte array, or null for SQL NULL
Throws
SQLException

public void setClobAsAsciiStream (PreparedStatement ps, int paramIndex, InputStream asciiStream, int contentLength)

Set the given content as ASCII stream on the given statement, using the given parameter index. Might simply invoke PreparedStatement.setAsciiStream or create a Clob instance for it, depending on the database and driver.

Parameters
ps the PreparedStatement to the set the content on
paramIndex the parameter index to use
asciiStream the content as ASCII stream, or null for SQL NULL
Throws
SQLException

public void setClobAsCharacterStream (PreparedStatement ps, int paramIndex, Reader characterStream, int contentLength)

Set the given content as character stream on the given statement, using the given parameter index. Might simply invoke PreparedStatement.setCharacterStream or create a Clob instance for it, depending on the database and driver.

Parameters
ps the PreparedStatement to the set the content on
paramIndex the parameter index to use
characterStream the content as character stream, or null for SQL NULL
Throws
SQLException

public void setClobAsString (PreparedStatement ps, int paramIndex, String content)

Set the given content as String on the given statement, using the given parameter index. Might simply invoke PreparedStatement.setString or create a Clob instance for it, depending on the database and driver.

Parameters
ps the PreparedStatement to the set the content on
paramIndex the parameter index to use
content the content as String, or null for SQL NULL
Throws
SQLException

Protected Methods

protected Object createLob (PreparedStatement ps, boolean clob, OracleLobHandler.LobCallback callback)

Create a LOB instance for the given PreparedStatement, populating it via the given callback.

Throws
SQLException

protected Connection getOracleConnection (PreparedStatement ps)

Retrieve the underlying OracleConnection, using a NativeJdbcExtractor if set.

protected Object prepareLob (Connection con, Class lobClass)

Create and open an oracle.sql.BLOB/CLOB instance via reflection.

Throws
Exception