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 theNativeJdbcExtractor
interface 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 Connection
doGetNativeConnection(Connection con)
Retrieve the Connection via C3P0'srawConnectionOperation
API, using thegetRawConnection
as callback to get access to the raw Connection (which is otherwise not directly supported by C3P0).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.boolean
isNativeConnectionNecessaryForNativeCallableStatements()
Returnfalse
by default.boolean
isNativeConnectionNecessaryForNativePreparedStatements()
Returnfalse
by default.boolean
isNativeConnectionNecessaryForNativeStatements()
Returnfalse
by 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:NativeJdbcExtractorAdapter
Returnfalse
by default.- Specified by:
isNativeConnectionNecessaryForNativeStatements
in interfaceNativeJdbcExtractor
- Overrides:
isNativeConnectionNecessaryForNativeStatements
in classNativeJdbcExtractorAdapter
isNativeConnectionNecessaryForNativePreparedStatements
public boolean isNativeConnectionNecessaryForNativePreparedStatements()
Description copied from class:NativeJdbcExtractorAdapter
Returnfalse
by default.- Specified by:
isNativeConnectionNecessaryForNativePreparedStatements
in interfaceNativeJdbcExtractor
- Overrides:
isNativeConnectionNecessaryForNativePreparedStatements
in classNativeJdbcExtractorAdapter
isNativeConnectionNecessaryForNativeCallableStatements
public boolean isNativeConnectionNecessaryForNativeCallableStatements()
Description copied from class:NativeJdbcExtractorAdapter
Returnfalse
by default.- Specified by:
isNativeConnectionNecessaryForNativeCallableStatements
in interfaceNativeJdbcExtractor
- Overrides:
isNativeConnectionNecessaryForNativeCallableStatements
in classNativeJdbcExtractorAdapter
doGetNativeConnection
protected Connection doGetNativeConnection(Connection con) throws SQLException
Retrieve the Connection via C3P0'srawConnectionOperation
API, using thegetRawConnection
as callback to get access to the raw Connection (which is otherwise not directly supported by C3P0).- Overrides:
doGetNativeConnection
in classNativeJdbcExtractorAdapter
- Throws:
SQLException
- See Also:
getRawConnection(java.sql.Connection)