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
NativeJdbcExtractor
implementation that delegates to JDBC 4.0'sunwrap
method, as defined byWrapper
. You will typically need to specify a vendorConnection type
/Statement type
/ResultSet type
to 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 Connection
doGetNativeConnection(Connection con)
Not able to unwrap: return passed-in Connection.CallableStatement
getNativeCallableStatement(CallableStatement cs)
Not able to unwrap: return passed-in CallableStatement.PreparedStatement
getNativePreparedStatement(PreparedStatement ps)
Not able to unwrap: return passed-in PreparedStatement.ResultSet
getNativeResultSet(ResultSet rs)
Not able to unwrap: return passed-in ResultSet.Statement
getNativeStatement(Statement stmt)
Not able to unwrap: return passed-in Statement.void
setCallableStatementType(Class<? extends CallableStatement> callableStatementType)
Set the vendor's CallableStatement type, e.g.void
setConnectionType(Class<? extends Connection> connectionType)
Set the vendor's Connection type, e.g.void
setPreparedStatementType(Class<? extends PreparedStatement> preparedStatementType)
Set the vendor's PreparedStatement type, e.g.void
setResultSetType(Class<? extends ResultSet> resultSetType)
Set the vendor's ResultSet type, e.g.void
setStatementType(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:NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in Connection.- Overrides:
doGetNativeConnection
in classNativeJdbcExtractorAdapter
- Throws:
SQLException
getNativeStatement
public Statement getNativeStatement(Statement stmt) throws SQLException
Description copied from class:NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in Statement.- Specified by:
getNativeStatement
in interfaceNativeJdbcExtractor
- Overrides:
getNativeStatement
in 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:NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in PreparedStatement.- Specified by:
getNativePreparedStatement
in interfaceNativeJdbcExtractor
- Overrides:
getNativePreparedStatement
in 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:NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in CallableStatement.- Specified by:
getNativeCallableStatement
in interfaceNativeJdbcExtractor
- Overrides:
getNativeCallableStatement
in 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:NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in ResultSet.- Specified by:
getNativeResultSet
in interfaceNativeJdbcExtractor
- Overrides:
getNativeResultSet
in 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