Class C3P0NativeJdbcExtractor
- java.lang.Object
- org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
- org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor
- All Implemented Interfaces:
NativeJdbcExtractor
public class C3P0NativeJdbcExtractor extends NativeJdbcExtractorAdapter
Implementation of theNativeJdbcExtractorinterface for the C3P0 connection pool.Returns underlying native Connections to application code instead of C3P0's wrapper implementations; unwraps the Connection for native Statements. The returned JDBC classes can then safely be cast, e.g. to
oracle.jdbc.OracleConnection.This NativeJdbcExtractor can be set just to allow working with a C3P0 DataSource: If a given object is not a C3P0 wrapper, it will be returned as-is.
Note that this class requires C3P0 0.8.5 or later; for earlier C3P0 versions, use SimpleNativeJdbcExtractor (which won't work for C3P0 0.8.5 or later).
- Since:
- 1.1.5
- Author:
- Juergen Hoeller
- See Also:
C3P0ProxyConnection.rawConnectionOperation(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]),SimpleNativeJdbcExtractor
Constructor Summary
Constructors Constructor Description C3P0NativeJdbcExtractor()
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ConnectiondoGetNativeConnection(Connection con)Retrieve the Connection via C3P0'srawConnectionOperationAPI, using thegetRawConnectionas callback to get access to the raw Connection (which is otherwise not directly supported by C3P0).static ConnectiongetRawConnection(Connection con)This method is not meant to be used directly; it rather serves as callback method for C3P0's "rawConnectionOperation" API.booleanisNativeConnectionNecessaryForNativeCallableStatements()Returnfalseby default.booleanisNativeConnectionNecessaryForNativePreparedStatements()Returnfalseby default.booleanisNativeConnectionNecessaryForNativeStatements()Returnfalseby default.Methods inherited from class org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
getNativeCallableStatement, getNativeConnection, getNativeConnectionFromStatement, getNativePreparedStatement, getNativeResultSet, getNativeStatement
Constructor Detail
C3P0NativeJdbcExtractor
public C3P0NativeJdbcExtractor()
Method Detail
getRawConnection
public static Connection getRawConnection(Connection con)
This method is not meant to be used directly; it rather serves as callback method for C3P0's "rawConnectionOperation" API.- Parameters:
con- a native Connection handle- Returns:
- the native Connection handle, as-is
isNativeConnectionNecessaryForNativeStatements
public boolean isNativeConnectionNecessaryForNativeStatements()
Description copied from class:NativeJdbcExtractorAdapterReturnfalseby default.- Specified by:
isNativeConnectionNecessaryForNativeStatementsin interfaceNativeJdbcExtractor- Overrides:
isNativeConnectionNecessaryForNativeStatementsin classNativeJdbcExtractorAdapter
isNativeConnectionNecessaryForNativePreparedStatements
public boolean isNativeConnectionNecessaryForNativePreparedStatements()
Description copied from class:NativeJdbcExtractorAdapterReturnfalseby default.- Specified by:
isNativeConnectionNecessaryForNativePreparedStatementsin interfaceNativeJdbcExtractor- Overrides:
isNativeConnectionNecessaryForNativePreparedStatementsin classNativeJdbcExtractorAdapter
isNativeConnectionNecessaryForNativeCallableStatements
public boolean isNativeConnectionNecessaryForNativeCallableStatements()
Description copied from class:NativeJdbcExtractorAdapterReturnfalseby default.- Specified by:
isNativeConnectionNecessaryForNativeCallableStatementsin interfaceNativeJdbcExtractor- Overrides:
isNativeConnectionNecessaryForNativeCallableStatementsin classNativeJdbcExtractorAdapter
doGetNativeConnection
protected Connection doGetNativeConnection(Connection con) throws SQLException
Retrieve the Connection via C3P0'srawConnectionOperationAPI, using thegetRawConnectionas callback to get access to the raw Connection (which is otherwise not directly supported by C3P0).- Overrides:
doGetNativeConnectionin classNativeJdbcExtractorAdapter- Throws:
SQLException- See Also:
getRawConnection(java.sql.Connection)