Class Jdbc4NativeJdbcExtractor
- java.lang.Object
- org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
- org.springframework.jdbc.support.nativejdbc.Jdbc4NativeJdbcExtractor
- All Implemented Interfaces:
NativeJdbcExtractor
- Direct Known Subclasses:
OracleJdbc4NativeJdbcExtractor
public class Jdbc4NativeJdbcExtractor extends NativeJdbcExtractorAdapter
NativeJdbcExtractorimplementation that delegates to JDBC 4.0'sunwrapmethod, as defined byWrapper. You will typically need to specify a vendorConnection type/Statement type/ResultSet typeto extract, since JDBC 4.0 only actually unwraps to a given target type.Note: Only use this when actually running against a JDBC 4.0 driver, with a connection pool that supports the JDBC 4.0 API (i.e. at least accepts JDBC 4.0 API calls and passes them through to the underlying driver)! Other than that, there is no need for connection pool specific setup. As of JDBC 4.0, NativeJdbcExtractors will typically be implemented for specific drivers instead of for specific pools (e.g.
OracleJdbc4NativeJdbcExtractor).- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
Wrapper.unwrap(java.lang.Class<T>),SimpleNativeJdbcExtractor,JdbcTemplate.setNativeJdbcExtractor(org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor),OracleLobHandler.setNativeJdbcExtractor(org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor)
Constructor Summary
Constructors Constructor Description Jdbc4NativeJdbcExtractor()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ConnectiondoGetNativeConnection(Connection con)Not able to unwrap: return passed-in Connection.CallableStatementgetNativeCallableStatement(CallableStatement cs)Not able to unwrap: return passed-in CallableStatement.PreparedStatementgetNativePreparedStatement(PreparedStatement ps)Not able to unwrap: return passed-in PreparedStatement.ResultSetgetNativeResultSet(ResultSet rs)Not able to unwrap: return passed-in ResultSet.StatementgetNativeStatement(Statement stmt)Not able to unwrap: return passed-in Statement.voidsetCallableStatementType(Class<? extends CallableStatement> callableStatementType)Set the vendor's CallableStatement type, e.g.voidsetConnectionType(Class<? extends Connection> connectionType)Set the vendor's Connection type, e.g.voidsetPreparedStatementType(Class<? extends PreparedStatement> preparedStatementType)Set the vendor's PreparedStatement type, e.g.voidsetResultSetType(Class<? extends ResultSet> resultSetType)Set the vendor's ResultSet type, e.g.voidsetStatementType(Class<? extends Statement> statementType)Set the vendor's Statement type, e.g.Methods inherited from class org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
getNativeConnection, getNativeConnectionFromStatement, isNativeConnectionNecessaryForNativeCallableStatements, isNativeConnectionNecessaryForNativePreparedStatements, isNativeConnectionNecessaryForNativeStatements
Constructor Detail
Jdbc4NativeJdbcExtractor
public Jdbc4NativeJdbcExtractor()
Method Detail
setConnectionType
public void setConnectionType(Class<? extends Connection> connectionType)
Set the vendor's Connection type, e.g.oracle.jdbc.OracleConnection.
setStatementType
public void setStatementType(Class<? extends Statement> statementType)
Set the vendor's Statement type, e.g.oracle.jdbc.OracleStatement.
setPreparedStatementType
public void setPreparedStatementType(Class<? extends PreparedStatement> preparedStatementType)
Set the vendor's PreparedStatement type, e.g.oracle.jdbc.OraclePreparedStatement.
setCallableStatementType
public void setCallableStatementType(Class<? extends CallableStatement> callableStatementType)
Set the vendor's CallableStatement type, e.g.oracle.jdbc.OracleCallableStatement.
setResultSetType
public void setResultSetType(Class<? extends ResultSet> resultSetType)
Set the vendor's ResultSet type, e.g.oracle.jdbc.OracleResultSet.
doGetNativeConnection
protected Connection doGetNativeConnection(Connection con) throws SQLException
Description copied from class:NativeJdbcExtractorAdapterNot able to unwrap: return passed-in Connection.- Overrides:
doGetNativeConnectionin classNativeJdbcExtractorAdapter- Throws:
SQLException
getNativeStatement
public Statement getNativeStatement(Statement stmt) throws SQLException
Description copied from class:NativeJdbcExtractorAdapterNot able to unwrap: return passed-in Statement.- Specified by:
getNativeStatementin interfaceNativeJdbcExtractor- Overrides:
getNativeStatementin classNativeJdbcExtractorAdapter- Parameters:
stmt- the Statement handle, potentially wrapped by a connection pool- Returns:
- the underlying native JDBC Statement, if possible; else, the original Statement
- Throws:
SQLException- if thrown by JDBC methods
getNativePreparedStatement
public PreparedStatement getNativePreparedStatement(PreparedStatement ps) throws SQLException
Description copied from class:NativeJdbcExtractorAdapterNot able to unwrap: return passed-in PreparedStatement.- Specified by:
getNativePreparedStatementin interfaceNativeJdbcExtractor- Overrides:
getNativePreparedStatementin classNativeJdbcExtractorAdapter- Parameters:
ps- the PreparedStatement handle, potentially wrapped by a connection pool- Returns:
- the underlying native JDBC PreparedStatement, if possible; else, the original PreparedStatement
- Throws:
SQLException- if thrown by JDBC methods
getNativeCallableStatement
public CallableStatement getNativeCallableStatement(CallableStatement cs) throws SQLException
Description copied from class:NativeJdbcExtractorAdapterNot able to unwrap: return passed-in CallableStatement.- Specified by:
getNativeCallableStatementin interfaceNativeJdbcExtractor- Overrides:
getNativeCallableStatementin classNativeJdbcExtractorAdapter- Parameters:
cs- the CallableStatement handle, potentially wrapped by a connection pool- Returns:
- the underlying native JDBC CallableStatement, if possible; else, the original CallableStatement
- Throws:
SQLException- if thrown by JDBC methods
getNativeResultSet
public ResultSet getNativeResultSet(ResultSet rs) throws SQLException
Description copied from class:NativeJdbcExtractorAdapterNot able to unwrap: return passed-in ResultSet.- Specified by:
getNativeResultSetin interfaceNativeJdbcExtractor- Overrides:
getNativeResultSetin classNativeJdbcExtractorAdapter- Parameters:
rs- the ResultSet handle, potentially wrapped by a connection pool- Returns:
- the underlying native JDBC ResultSet, if possible; else, the original ResultSet
- Throws:
SQLException- if thrown by JDBC methods