Class CoreConnection
- java.lang.Object
-
- com.avoka.core.cayenne.CoreConnection
-
- All Implemented Interfaces:
AutoCloseable,Connection,Wrapper
public class CoreConnection extends Object implements Connection
Provides a core connection wrapper for JDBC Connection interface.- Since:
- 4.1.0
-
-
Field Summary
-
Fields inherited from interface java.sql.Connection
TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
-
-
Constructor Summary
Constructors Constructor Description CoreConnection(Connection connection, Integer queryTimeout)Create a monitored connection given a connection.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort(Executor executor)voidclearWarnings()Clear warnings.voidclose()Perform checking and logging before close the connection.static voidcloseThreadLocalOpenConnections()Close all thread local open connections.voidcommit()Makes all changes made since the previous commit/rollback permanent and releases any database locks currently held by this Connection object.ArraycreateArrayOf(String typeName, Object[] elements)Creates the array of.BlobcreateBlob()Creates the blob.ClobcreateClob()Creates the clob.NClobcreateNClob()Creates the nclob.SQLXMLcreateSQLXML()Creates the sqlxml.StatementcreateStatement()Creates aStatementobject for sending SQL statements to the database.StatementcreateStatement(int resultSetType, int resultSetConcurrency)Creates aStatementobject that will generateResultSetobjects with the given type and concurrency.StatementcreateStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.StructcreateStruct(String typeName, Object[] attributes)Creates the struct.booleangetAutoCommit()Retrieves the current auto-commit mode for thisConnectionobject.StringgetCatalog()Retrieves thisConnectionobject's current catalog name.PropertiesgetClientInfo()Gets the client info.StringgetClientInfo(String name)Gets the client info.intgetHoldability()Retrieves the current holdability ofResultSetobjects created using thisConnectionobject.DatabaseMetaDatagetMetaData()Retrieves aDatabaseMetaDataobject that contains metadata about the database to which thisConnectionobject represents a connection.intgetNetworkTimeout()IntegergetQueryTimeout()Return the query timeout in seconds, using the threadlocal value if definedStringgetSchema()static Map<Integer,Connection>getThreadLocalOpenConnections()Return the thread local map of open connections, keyed on connection hashcode.intgetTransactionIsolation()Retrieves thisConnectionobject's current transaction isolation level.Map<String,Class<?>>getTypeMap()Retrieves theMapobject associated with thisConnectionobject.SQLWarninggetWarnings()Retrieves the first warning reported by calls on thisConnectionobject.booleanisClosed()Retrieves whether thisConnectionobject has been closed.booleanisReadOnly()Retrieves whether thisConnectionobject is in read-only mode.booleanisValid(int timeout)Checks if is valid.booleanisWrapperFor(Class<?> iface)Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does.StringnativeSQL(String sql)Converts the given SQL statement into the system's native SQL grammar.CallableStatementprepareCall(String sql)Creates aCallableStatementobject for calling database stored procedures.CallableStatementprepareCall(String sql, int resultSetType, int resultSetConcurrency)Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency.CallableStatementprepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency.PreparedStatementprepareStatement(String sql)Creates aPreparedStatementobject for sending parameterized SQL statements to the database.PreparedStatementprepareStatement(String sql, int autoGeneratedKeys)Creates a defaultPreparedStatementobject that has the capability to retrieve auto-generated keys.PreparedStatementprepareStatement(String sql, int[] columnIndexes)Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array.PreparedStatementprepareStatement(String sql, int resultSetType, int resultSetConcurrency)Creates aPreparedStatementobject that will generateResultSetobjects with the given type and concurrency.PreparedStatementprepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)Creates aPreparedStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.PreparedStatementprepareStatement(String sql, String[] columnNames)Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array.voidreleaseSavepoint(Savepoint savepoint)Removes the givenSavepointobject from the current transaction.voidrollback()Undoes all changes made in the current transaction and releases any database locks currently held by thisConnectionobject.voidrollback(Savepoint savepoint)Undoes all changes made after the givenSavepointobject was set.voidsetAutoCommit(boolean autoCommit)Sets this connection's auto-commit mode to the given state.voidsetCatalog(String catalog)Sets the given catalog name in order to select a subspace of thisConnectionobject's database in which to work.voidsetClientInfo(String name, String value)Sets the client info.voidsetClientInfo(Properties properties)Sets the client info.voidsetHoldability(int holdability)Changes the holdability ofResultSetobjects created using thisConnectionobject to the given holdability.voidsetNetworkTimeout(Executor executor, int milliseconds)voidsetReadOnly(boolean readOnly)Puts this connection in read-only mode as a hint to the driver to enable database optimizations.SavepointsetSavepoint()Creates an unnamed savepoint in the current transaction and returns the newSavepointobject that represents it.SavepointsetSavepoint(String name)Creates a savepoint with the given name in the current transaction and returns the newSavepointobject that represents it.voidsetSchema(String schema)static voidsetThreadLocalQueryTimeout(Integer queryTimeout)Set the thread local query timeout in seconds, which will override the default connection timeout if definedvoidsetTransactionIsolation(int level)Attempts to change the transaction isolation level for thisConnectionobject to the one given.voidsetTypeMap(Map<String,Class<?>> map)Installs the givenTypeMapobject as the type map for thisConnectionobject.<T> Tunwrap(Class<T> iface)Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.sql.Connection
beginRequest, endRequest, setShardingKey, setShardingKey, setShardingKeyIfValid, setShardingKeyIfValid
-
-
-
-
Constructor Detail
-
CoreConnection
public CoreConnection(Connection connection, Integer queryTimeout)
Create a monitored connection given a connection.- Parameters:
connection- a connection to monitorqueryTimeout- the JDBC Statement query timeout in seconds
-
-
Method Detail
-
setThreadLocalQueryTimeout
public static void setThreadLocalQueryTimeout(Integer queryTimeout)
Set the thread local query timeout in seconds, which will override the default connection timeout if defined- Parameters:
queryTimeout- the query timeout in seconds
-
getThreadLocalOpenConnections
public static Map<Integer,Connection> getThreadLocalOpenConnections()
Return the thread local map of open connections, keyed on connection hashcode.- Returns:
- the thread local map of open connections, keyed on connection hashcode
-
closeThreadLocalOpenConnections
public static void closeThreadLocalOpenConnections()
Close all thread local open connections.
-
getQueryTimeout
public Integer getQueryTimeout()
Return the query timeout in seconds, using the threadlocal value if defined- Returns:
- the query timeout in seconds, using the threadlocal value if defined
-
clearWarnings
public void clearWarnings() throws SQLExceptionClear warnings.- Specified by:
clearWarningsin interfaceConnection- Throws:
SQLException- if a database access error occurs- See Also:
Connection.clearWarnings()
-
close
public void close() throws SQLExceptionPerform checking and logging before close the connection.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceConnection- Throws:
SQLException- - if a database access error occurs- See Also:
Connection.close()
-
commit
public void commit() throws SQLExceptionMakes all changes made since the previous commit/rollback permanent and releases any database locks currently held by this Connection object. This method should be used only when auto-commit mode has been disabled.- Specified by:
commitin interfaceConnection- Throws:
SQLException- if a database access error occurs or this Connection object is in auto-commit mode- See Also:
Connection.commit()
-
createStatement
public Statement createStatement() throws SQLException
Creates aStatementobject for sending SQL statements to the database. SQL statements without parameters are normally executed usingStatementobjects. If the same SQL statement is executed many times, it may be more efficient to use aPreparedStatementobject.Result sets created using the returned
Statementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
createStatementin interfaceConnection- Returns:
- a new default
Statementobject - Throws:
SQLException- if a database access error occurs
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
Creates aStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as thecreateStatementmethod above, but it allows the default result set type and concurrency to be overridden.- Specified by:
createStatementin interfaceConnection- Parameters:
resultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new
Statementobject that will generateResultSetobjects with the given type and concurrency - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type and concurrency
-
createStatement
public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Creates aStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability. This method is the same as thecreateStatementmethod above, but it allows the default result set type, concurrency, and holdability to be overridden.- Specified by:
createStatementin interfaceConnection- Parameters:
resultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
Statementobject that will generateResultSetobjects with the given type, concurrency, and holdability - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type, concurrency, and holdability- See Also:
ResultSet
-
getAutoCommit
public boolean getAutoCommit() throws SQLExceptionRetrieves the current auto-commit mode for thisConnectionobject.- Specified by:
getAutoCommitin interfaceConnection- Returns:
- the current state of this
Connectionobject's auto-commit mode - Throws:
SQLException- if a database access error occurs- See Also:
setAutoCommit(boolean)
-
getCatalog
public String getCatalog() throws SQLException
Retrieves thisConnectionobject's current catalog name.- Specified by:
getCatalogin interfaceConnection- Returns:
- the current catalog name or
nullif there is none - Throws:
SQLException- if a database access error occurs- See Also:
setCatalog(java.lang.String)
-
getHoldability
public int getHoldability() throws SQLExceptionRetrieves the current holdability ofResultSetobjects created using thisConnectionobject.- Specified by:
getHoldabilityin interfaceConnection- Returns:
- the holdability, one of
ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT - Throws:
SQLException- if a database access occurs- See Also:
setHoldability(int),ResultSet
-
getMetaData
public DatabaseMetaData getMetaData() throws SQLException
Retrieves aDatabaseMetaDataobject that contains metadata about the database to which thisConnectionobject represents a connection. The metadata includes information about the database's tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, and so on.- Specified by:
getMetaDatain interfaceConnection- Returns:
- a
DatabaseMetaDataobject for thisConnectionobject - Throws:
SQLException- if a database access error occurs
-
getTransactionIsolation
public int getTransactionIsolation() throws SQLExceptionRetrieves thisConnectionobject's current transaction isolation level.- Specified by:
getTransactionIsolationin interfaceConnection- Returns:
- the current transaction isolation level, which will be one
of the following constants:
Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READ,Connection.TRANSACTION_SERIALIZABLE, orConnection.TRANSACTION_NONE. - Throws:
SQLException- if a database access error occurs- See Also:
setTransactionIsolation(int)
-
getTypeMap
public Map<String,Class<?>> getTypeMap() throws SQLException
Retrieves theMapobject associated with thisConnectionobject. Unless the application has added an entry, the type map returned will be empty.- Specified by:
getTypeMapin interfaceConnection- Returns:
- the
java.util.Mapobject associated with thisConnectionobject - Throws:
SQLException- if a database access error occurs- Since:
- 1.2
- See Also:
setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)
-
getWarnings
public SQLWarning getWarnings() throws SQLException
Retrieves the first warning reported by calls on thisConnectionobject. If there is more than one warning, subsequent warnings will be chained to the first one and can be retrieved by calling the methodSQLWarning.getNextWarningon the warning that was retrieved previously.This method may not be called on a closed connection; doing so will cause an
SQLExceptionto be thrown.Note: Subsequent warnings will be chained to this SQLWarning.
- Specified by:
getWarningsin interfaceConnection- Returns:
- the first
SQLWarningobject ornullif there are none - Throws:
SQLException- if a database access error occurs or this method is called on a closed connection- See Also:
SQLWarning
-
isClosed
public boolean isClosed() throws SQLExceptionRetrieves whether thisConnectionobject has been closed. A connection is closed if the methodclosehas been called on it or if certain fatal errors have occurred. This method is guaranteed to returntrueonly when it is called after the methodConnection.closehas been called.This method generally cannot be called to determine whether a connection to a database is valid or invalid. A typical client can determine that a connection is invalid by catching any exceptions that might be thrown when an operation is attempted.
- Specified by:
isClosedin interfaceConnection- Returns:
trueif thisConnectionobject is closed;falseif it is still open- Throws:
SQLException- if a database access error occurs
-
isReadOnly
public boolean isReadOnly() throws SQLExceptionRetrieves whether thisConnectionobject is in read-only mode.- Specified by:
isReadOnlyin interfaceConnection- Returns:
trueif thisConnectionobject is read-only;falseotherwise- Throws:
SQLException- if a database access error occurs
-
nativeSQL
public String nativeSQL(String sql) throws SQLException
Converts the given SQL statement into the system's native SQL grammar. A driver may convert the JDBC SQL grammar into its system's native SQL grammar prior to sending it. This method returns the native form of the statement that the driver would have sent.- Specified by:
nativeSQLin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' parameter placeholders- Returns:
- the native form of this statement
- Throws:
SQLException- if a database access error occurs
-
prepareCall
public CallableStatement prepareCall(String sql) throws SQLException
Creates aCallableStatementobject for calling database stored procedures. TheCallableStatementobject provides methods for setting up its IN and OUT parameters, and methods for executing the call to a stored procedure.Note: This method is optimized for handling stored procedure call statements. Some drivers may send the call statement to the database when the method
prepareCallis done; others may wait until theCallableStatementobject is executed. This has no direct effect on users; however, it does affect which method throws certain SQLExceptions.Result sets created using the returned
CallableStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' parameter placeholders. Typically this statement is a JDBC function call escape string.- Returns:
- a new default
CallableStatementobject containing the pre-compiled SQL statement - Throws:
SQLException- if a database access error occurs
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareCallmethod above, but it allows the default result set type and concurrency to be overridden.- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain on or more ? parametersresultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new
CallableStatementobject containing the pre-compiled SQL statement that will produceResultSetobjects with the given type and concurrency - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type and concurrency
-
prepareCall
public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Creates aCallableStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareCallmethod above, but it allows the default result set type, result set concurrency type and holdability to be overridden.- Specified by:
prepareCallin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain on or more ? parametersresultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
CallableStatementobject, containing the pre-compiled SQL statement, that will generateResultSetobjects with the given type, concurrency, and holdability - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type, concurrency, and holdability- See Also:
ResultSet
-
prepareStatement
public PreparedStatement prepareStatement(String sql) throws SQLException
Creates aPreparedStatementobject for sending parameterized SQL statements to the database.A SQL statement with or without IN parameters can be pre-compiled and stored in a
PreparedStatementobject. This object can then be used to efficiently execute this statement multiple times.Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method
prepareStatementwill send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certainSQLExceptionobjects.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' IN parameter placeholders- Returns:
- a new default
PreparedStatementobject containing the pre-compiled SQL statement - Throws:
SQLException- if a database access error occurs
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
Creates a defaultPreparedStatementobject that has the capability to retrieve auto-generated keys. The given constant tells the driver whether it should make auto-generated keys available for retrieval. This parameter is ignored if the SQL statement is not anINSERTstatement.Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method
prepareStatementwill send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' IN parameter placeholdersautoGeneratedKeys- a flag indicating whether auto-generated keys should be returned; one ofStatement.RETURN_GENERATED_KEYSorStatement.NO_GENERATED_KEYS- Returns:
- a new
PreparedStatementobject, containing the pre-compiled SQL statement, that will have the capability of returning auto-generated keys - Throws:
SQLException- if a database access error occurs or the given parameter is not aStatementconstant indicating whether auto-generated keys should be returned
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array. This array contains the indexes of the columns in the target table that contain the auto-generated keys that should be made available. This array is ignored if the SQL statement is not anINSERTstatement.An SQL statement with or without IN parameters can be pre-compiled and stored in a
PreparedStatementobject. This object can then be used to efficiently execute this statement multiple times.Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method
prepareStatementwill send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' IN parameter placeholderscolumnIndexes- an array of column indexes indicating the columns that should be returned from the inserted row or rows- Returns:
- a new
PreparedStatementobject, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column indexes - Throws:
SQLException- if a database access error occurs
-
prepareStatement
public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
Creates a defaultPreparedStatementobject capable of returning the auto-generated keys designated by the given array. This array contains the names of the columns in the target table that contain the auto-generated keys that should be returned. This array is ignored if the SQL statement is not anINSERTstatement.An SQL statement with or without IN parameters can be pre-compiled and stored in a
PreparedStatementobject. This object can then be used to efficiently execute this statement multiple times.Note: This method is optimized for handling parametric SQL statements that benefit from precompilation. If the driver supports precompilation, the method
prepareStatementwill send the statement to the database for precompilation. Some drivers may not support precompilation. In this case, the statement may not be sent to the database until thePreparedStatementobject is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLExceptions.Result sets created using the returned
PreparedStatementobject will by default be typeTYPE_FORWARD_ONLYand have a concurrency level ofCONCUR_READ_ONLY.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- an SQL statement that may contain one or more '?' IN parameter placeholderscolumnNames- an array of column names indicating the columns that should be returned from the inserted row or rows- Returns:
- a new
PreparedStatementobject, containing the pre-compiled statement, that is capable of returning the auto-generated keys designated by the given array of column names - Throws:
SQLException- if a database access error occurs
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
Creates aPreparedStatementobject that will generateResultSetobjects with the given type and concurrency. This method is the same as theprepareStatementmethod above, but it allows the default result set type and concurrency to be overridden.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain one or more ? IN parametersresultSetType- a result set type; one ofResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- a concurrency type; one ofResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE- Returns:
- a new PreparedStatement object containing the
pre-compiled SQL statement that will produce
ResultSetobjects with the given type and concurrency - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type and concurrency- Since:
- 1.2
-
prepareStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Creates aPreparedStatementobject that will generateResultSetobjects with the given type, concurrency, and holdability.This method is the same as the
prepareStatementmethod above, but it allows the default result set type, concurrency, and holdability to be overridden.- Specified by:
prepareStatementin interfaceConnection- Parameters:
sql- aStringobject that is the SQL statement to be sent to the database; may contain one or more ? IN parametersresultSetType- one of the followingResultSetconstants:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency- one of the followingResultSetconstants:ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLEresultSetHoldability- one of the followingResultSetconstants:ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Returns:
- a new
PreparedStatementobject, containing the pre-compiled SQL statement, that will generateResultSetobjects with the given type, concurrency, and holdability - Throws:
SQLException- if a database access error occurs or the given parameters are notResultSetconstants indicating type, concurrency, and holdability- See Also:
ResultSet
-
releaseSavepoint
public void releaseSavepoint(Savepoint savepoint) throws SQLException
Removes the givenSavepointobject from the current transaction. Any reference to the savepoint after it have been removed will cause anSQLExceptionto be thrown.- Specified by:
releaseSavepointin interfaceConnection- Parameters:
savepoint- theSavepointobject to be removed- Throws:
SQLException- if a database access error occurs or the givenSavepointobject is not a valid savepoint in the current transaction- Since:
- 1.4
-
rollback
public void rollback() throws SQLExceptionUndoes all changes made in the current transaction and releases any database locks currently held by thisConnectionobject. This method should be used only when auto-commit mode has been disabled.- Specified by:
rollbackin interfaceConnection- Throws:
SQLException- if a database access error occurs or thisConnectionobject is in auto-commit mode- See Also:
setAutoCommit(boolean)
-
rollback
public void rollback(Savepoint savepoint) throws SQLException
Undoes all changes made after the givenSavepointobject was set.This method should be used only when auto-commit has been disabled.
- Specified by:
rollbackin interfaceConnection- Parameters:
savepoint- theSavepointobject to roll back to- Throws:
SQLException- if a database access error occurs, theSavepointobject is no longer valid, or thisConnectionobject is currently in auto-commit mode- Since:
- 1.4
- See Also:
Savepoint,rollback()
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws SQLExceptionSets this connection's auto-commit mode to the given state. If a connection is in auto-commit mode, then all its SQL statements will be executed and committed as individual transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either the methodcommitor the methodrollback. By default, new connections are in auto-commit mode.The commit occurs when the statement completes or the next execute occurs, whichever comes first. In the case of statements returning a
ResultSetobject, the statement completes when the last row of theResultSetobject has been retrieved or theResultSetobject has been closed. In advanced cases, a single statement may return multiple results as well as output parameter values. In these cases, the commit occurs when all results and output parameter values have been retrieved.NOTE: If this method is called during a transaction, the transaction is committed.
- Specified by:
setAutoCommitin interfaceConnection- Parameters:
autoCommit-trueto enable auto-commit mode;falseto disable it- Throws:
SQLException- if a database access error occurs- See Also:
getAutoCommit()
-
setCatalog
public void setCatalog(String catalog) throws SQLException
Sets the given catalog name in order to select a subspace of thisConnectionobject's database in which to work.If the driver does not support catalogs, it will silently ignore this request.
- Specified by:
setCatalogin interfaceConnection- Parameters:
catalog- the name of a catalog (subspace in thisConnectionobject's database) in which to work- Throws:
SQLException- if a database access error occurs- See Also:
getCatalog()
-
setHoldability
public void setHoldability(int holdability) throws SQLExceptionChanges the holdability ofResultSetobjects created using thisConnectionobject to the given holdability.- Specified by:
setHoldabilityin interfaceConnection- Parameters:
holdability- aResultSetholdability constant; one ofResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT- Throws:
SQLException- if a database access occurs, the given parameter is not aResultSetconstant indicating holdability, or the given holdability is not supported- Since:
- 1.4
- See Also:
getHoldability(),ResultSet
-
setReadOnly
public void setReadOnly(boolean readOnly) throws SQLExceptionPuts this connection in read-only mode as a hint to the driver to enable database optimizations.Note: This method cannot be called during a transaction.
- Specified by:
setReadOnlyin interfaceConnection- Parameters:
readOnly-trueenables read-only mode;falsedisables it- Throws:
SQLException- if a database access error occurs or this method is called during a transaction
-
setSavepoint
public Savepoint setSavepoint() throws SQLException
Creates an unnamed savepoint in the current transaction and returns the newSavepointobject that represents it.- Specified by:
setSavepointin interfaceConnection- Returns:
- the new
Savepointobject - Throws:
SQLException- if a database access error occurs or thisConnectionobject is currently in auto-commit mode- Since:
- 1.4
- See Also:
Savepoint
-
setSavepoint
public Savepoint setSavepoint(String name) throws SQLException
Creates a savepoint with the given name in the current transaction and returns the newSavepointobject that represents it.- Specified by:
setSavepointin interfaceConnection- Parameters:
name- aStringcontaining the name of the savepoint- Returns:
- the new
Savepointobject - Throws:
SQLException- if a database access error occurs or thisConnectionobject is currently in auto-commit mode- Since:
- 1.4
- See Also:
Savepoint
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws SQLExceptionAttempts to change the transaction isolation level for thisConnectionobject to the one given. The constants defined in the interfaceConnectionare the possible transaction isolation levels.Note: If this method is called during a transaction, the result is implementation-defined.
- Specified by:
setTransactionIsolationin interfaceConnection- Parameters:
level- one of the followingConnectionconstants:Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READ, orConnection.TRANSACTION_SERIALIZABLE. (Note thatConnection.TRANSACTION_NONEcannot be used because it specifies that transactions are not supported.)- Throws:
SQLException- if a database access error occurs or the given parameter is not one of theConnectionconstants- See Also:
DatabaseMetaData.supportsTransactionIsolationLevel(int),getTransactionIsolation()
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map) throws SQLException
Installs the givenTypeMapobject as the type map for thisConnectionobject. The type map will be used for the custom mapping of SQL structured types and distinct types.- Specified by:
setTypeMapin interfaceConnection- Parameters:
map- thejava.util.Mapobject to install as the replacement for thisConnectionobject's default type map- Throws:
SQLException- if a database access error occurs or the given parameter is not ajava.util.Mapobject- Since:
- 1.2
- See Also:
getTypeMap()
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
Returns an object that implements the given interface to allow access to non-standard methods, or standard methods not exposed by the proxy. If the receiver implements the interface then the result is the receiver or a proxy for the receiver. If the receiver is a wrapper and the wrapped object implements the interface then the result is the wrapped object or a proxy for the wrapped object. Otherwise return the the result of callingunwraprecursively on the wrapped object or a proxy for that result. If the receiver is not a wrapper and does not implement the interface, then anSQLExceptionis thrown.- Specified by:
unwrapin interfaceWrapper- Type Parameters:
T- the generic type- Parameters:
iface- A Class defining an interface that the result must implement.- Returns:
- an object that implements the interface. May be a proxy for the actual implementing object.
- Throws:
SQLException- the SQL exception- Since:
- 1.6
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
Returns true if this either implements the interface argument or is directly or indirectly a wrapper for an object that does. Returns false otherwise. If this implements the interface then return true, else if this is a wrapper then return the result of recursively callingisWrapperForon the wrapped object. If this does not implement the interface and is not a wrapper, return false. This method should be implemented as a low-cost operation compared tounwrapso that callers can use this method to avoid expensiveunwrapcalls that may fail. If this method returns true then callingunwrapwith the same argument should succeed.- Specified by:
isWrapperForin interfaceWrapper- Parameters:
iface- a Class defining an interface.- Returns:
- true if this implements the interface or directly or indirectly wraps an object that does.
- Throws:
SQLException- the sQL exception- Since:
- 1.6
-
createClob
public Clob createClob() throws SQLException
Creates the clob.- Specified by:
createClobin interfaceConnection- Returns:
- the clob
- Throws:
SQLException- the sQL exception- See Also:
Connection.createClob()
-
createBlob
public Blob createBlob() throws SQLException
Creates the blob.- Specified by:
createBlobin interfaceConnection- Returns:
- the blob
- Throws:
SQLException- the sQL exception- See Also:
Connection.createBlob()
-
createNClob
public NClob createNClob() throws SQLException
Creates the nclob.- Specified by:
createNClobin interfaceConnection- Returns:
- the nclob
- Throws:
SQLException- the sQL exception- See Also:
Connection.createNClob()
-
createSQLXML
public SQLXML createSQLXML() throws SQLException
Creates the sqlxml.- Specified by:
createSQLXMLin interfaceConnection- Returns:
- the sQLXML
- Throws:
SQLException- the sQL exception- See Also:
Connection.createSQLXML()
-
isValid
public boolean isValid(int timeout) throws SQLExceptionChecks if is valid.- Specified by:
isValidin interfaceConnection- Parameters:
timeout- the timeout- Returns:
- true, if is valid
- Throws:
SQLException- the sQL exception- See Also:
Connection.isValid(int)
-
setClientInfo
public void setClientInfo(String name, String value) throws SQLClientInfoException
Sets the client info.- Specified by:
setClientInfoin interfaceConnection- Parameters:
name- the namevalue- the value- Throws:
SQLClientInfoException- the sQL client info exception- See Also:
Connection.setClientInfo(java.lang.String, java.lang.String)
-
setClientInfo
public void setClientInfo(Properties properties) throws SQLClientInfoException
Sets the client info.- Specified by:
setClientInfoin interfaceConnection- Parameters:
properties- the new client info- Throws:
SQLClientInfoException- the sQL client info exception- See Also:
Connection.setClientInfo(java.util.Properties)
-
getClientInfo
public String getClientInfo(String name) throws SQLException
Gets the client info.- Specified by:
getClientInfoin interfaceConnection- Parameters:
name- the name- Returns:
- the client info
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.getClientInfo(java.lang.String)
-
getClientInfo
public Properties getClientInfo() throws SQLException
Gets the client info.- Specified by:
getClientInfoin interfaceConnection- Returns:
- the client info
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.getClientInfo()
-
createArrayOf
public Array createArrayOf(String typeName, Object[] elements) throws SQLException
Creates the array of.- Specified by:
createArrayOfin interfaceConnection- Parameters:
typeName- the type nameelements- the elements- Returns:
- the array
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.createArrayOf(java.lang.String, java.lang.Object[])
-
createStruct
public Struct createStruct(String typeName, Object[] attributes) throws SQLException
Creates the struct.- Specified by:
createStructin interfaceConnection- Parameters:
typeName- the type nameattributes- the attributes- Returns:
- the struct
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.createStruct(java.lang.String, java.lang.Object[])
-
setSchema
public void setSchema(String schema) throws SQLException
- Specified by:
setSchemain interfaceConnection- Parameters:
schema- the database schema- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.setSchema(String)
-
getSchema
public String getSchema() throws SQLException
- Specified by:
getSchemain interfaceConnection- Returns:
- the database schema
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.getSchema()
-
abort
public void abort(Executor executor) throws SQLException
- Specified by:
abortin interfaceConnection- Parameters:
executor- the abort event executor- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.abort(Executor)
-
setNetworkTimeout
public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
- Specified by:
setNetworkTimeoutin interfaceConnection- Parameters:
executor- the timeout event executormilliseconds- the timeout in milliseconds- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.setNetworkTimeout(Executor, int)
-
getNetworkTimeout
public int getNetworkTimeout() throws SQLException- Specified by:
getNetworkTimeoutin interfaceConnection- Returns:
- the network timeout value
- Throws:
SQLException- if a SQL error occurs- See Also:
Connection.getNetworkTimeout()
-
-