Class DefaultLobHandler.DefaultLobCreator
java.lang.Object
org.springframework.jdbc.support.lob.DefaultLobHandler.DefaultLobCreator
- All Implemented Interfaces:
Closeable,AutoCloseable,LobCreator
- Enclosing class:
DefaultLobHandler
Default LobCreator implementation as an inner class.
Can be subclassed in DefaultLobHandler extensions.
- Since:
- 04.12.2003
- Author:
- Juergen Hoeller
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this LobCreator session and free its temporarily created BLOBs and CLOBs.voidsetBlobAsBinaryStream(PreparedStatement ps, int paramIndex, @Nullable InputStream binaryStream, int contentLength) Set the given content as binary stream on the given statement, using the given parameter index.voidsetBlobAsBytes(PreparedStatement ps, int paramIndex, byte @Nullable [] content) Set the given content as bytes on the given statement, using the given parameter index.voidsetClobAsAsciiStream(PreparedStatement ps, int paramIndex, @Nullable InputStream asciiStream, int contentLength) Set the given content as ASCII stream on the given statement, using the given parameter index.voidsetClobAsCharacterStream(PreparedStatement ps, int paramIndex, @Nullable Reader characterStream, int contentLength) Set the given content as character stream on the given statement, using the given parameter index.voidsetClobAsString(PreparedStatement ps, int paramIndex, @Nullable String content) Set the given content as String on the given statement, using the given parameter index.
-
Constructor Details
-
DefaultLobCreator
protected DefaultLobCreator()
-
-
Method Details
-
setBlobAsBytes
public void setBlobAsBytes(PreparedStatement ps, int paramIndex, byte @Nullable [] content) throws SQLException Description copied from interface:LobCreatorSet the given content as bytes on the given statement, using the given parameter index. Might simply invokePreparedStatement.setBytesor create a Blob instance for it, depending on the database and driver.- Specified by:
setBlobAsBytesin interfaceLobCreator- Parameters:
ps- the PreparedStatement to the set the content onparamIndex- the parameter index to usecontent- the content as byte array, ornullfor SQL NULL- Throws:
SQLException- if thrown by JDBC methods- See Also:
-
setBlobAsBinaryStream
public void setBlobAsBinaryStream(PreparedStatement ps, int paramIndex, @Nullable InputStream binaryStream, int contentLength) throws SQLException Description copied from interface:LobCreatorSet the given content as binary stream on the given statement, using the given parameter index. Might simply invokePreparedStatement.setBinaryStreamor create a Blob instance for it, depending on the database and driver.- Specified by:
setBlobAsBinaryStreamin interfaceLobCreator- Parameters:
ps- the PreparedStatement to the set the content onparamIndex- the parameter index to usebinaryStream- the content as binary stream, ornullfor SQL NULL- Throws:
SQLException- if thrown by JDBC methods- See Also:
-
setClobAsString
public void setClobAsString(PreparedStatement ps, int paramIndex, @Nullable String content) throws SQLException Description copied from interface:LobCreatorSet the given content as String on the given statement, using the given parameter index. Might simply invokePreparedStatement.setStringor create a Clob instance for it, depending on the database and driver.- Specified by:
setClobAsStringin interfaceLobCreator- Parameters:
ps- the PreparedStatement to the set the content onparamIndex- the parameter index to usecontent- the content as String, ornullfor SQL NULL- Throws:
SQLException- if thrown by JDBC methods- See Also:
-
setClobAsAsciiStream
public void setClobAsAsciiStream(PreparedStatement ps, int paramIndex, @Nullable InputStream asciiStream, int contentLength) throws SQLException Description copied from interface:LobCreatorSet the given content as ASCII stream on the given statement, using the given parameter index. Might simply invokePreparedStatement.setAsciiStreamor create a Clob instance for it, depending on the database and driver.- Specified by:
setClobAsAsciiStreamin interfaceLobCreator- Parameters:
ps- the PreparedStatement to the set the content onparamIndex- the parameter index to useasciiStream- the content as ASCII stream, ornullfor SQL NULL- Throws:
SQLException- if thrown by JDBC methods- See Also:
-
setClobAsCharacterStream
public void setClobAsCharacterStream(PreparedStatement ps, int paramIndex, @Nullable Reader characterStream, int contentLength) throws SQLException Description copied from interface:LobCreatorSet the given content as character stream on the given statement, using the given parameter index. Might simply invokePreparedStatement.setCharacterStreamor create a Clob instance for it, depending on the database and driver.- Specified by:
setClobAsCharacterStreamin interfaceLobCreator- Parameters:
ps- the PreparedStatement to the set the content onparamIndex- the parameter index to usecharacterStream- the content as character stream, ornullfor SQL NULL- Throws:
SQLException- if thrown by JDBC methods- See Also:
-
close
public void close()Description copied from interface:LobCreatorClose this LobCreator session and free its temporarily created BLOBs and CLOBs. Will not need to do anything if using PreparedStatement's standard methods, but might be necessary to free database resources if using proprietary means.NOTE: Needs to be invoked after the involved PreparedStatements have been executed or the affected O/R mapping sessions have been flushed. Otherwise, the database resources for the temporary BLOBs might stay allocated.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceLobCreator
-