public interface Connection
A connection (session) with a specific database. SQL statements are executed and results are returned within the context of a connection.
A Connection object's database is able to provide information describing its tables, its supported SQL grammar, its stored procedures, the capabilities of this connection, and so on. This information is obtained with the getMetaData method.
Note: When configuring a Connection, JDBC applications should use the appropritate Connection method such as setAutoCommit or setTransactionIsolation. Applications should not invoke SQL commands directly to change the connection's configuration when there is a JDBC method available. By default a Connection object is in auto-commit mode, which means that it automatically commits changes after executing each statement. If auto-commit mode has been disabled, the method commit must be called explicitly in order to commit changes; otherwise, database changes will not be saved.
A new Connection object created using the JDBC 2.1 core API has an initially empty type map associated with it. A user may enter a custom mapping for a UDT in this type map. When a UDT is retrieved from a data source with the method ResultSet.getObject, the getObject method will check the connection's type map to see if there is an entry for that UDT. If so, the getObject method will map the UDT to the class indicated. If there is no entry, the UDT will be mapped using the standard mapping.
A user may create a new type map, which is a java.util.Map object, make an entry in it, and pass it to the java.sql methods that can perform custom mapping. In this case, the method will use the given type map instead of the one associated with the connection.
For example, the following code fragment specifies that the SQL type ATHLETES will be mapped to the class Athletes in the Java programming language. The code fragment retrieves the type map for the Connection object con, inserts the entry into it, and then sets the type map with the new entry as the connection's type map.
java.util.Map map = con.getTypeMap();
map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
con.setTypeMap(map);
DriverManager.getConnection(java.lang.String, java.util.Properties), Statement, ResultSet, DatabaseMetaDatastatic int TRANSACTION_NONEstatic int TRANSACTION_READ_COMMITTEDstatic int TRANSACTION_READ_UNCOMMITTEDstatic int TRANSACTION_REPEATABLE_READstatic int TRANSACTION_SERIALIZABLE void clearWarnings()Connection object. void close()Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released. void commit()Connection object. Array createArrayOf(String typeName, Object[] elements) Blob createBlob()Blob interface. Clob createClob()Clob interface. NClob createNClob()NClob interface. SQLXML createSQLXML()SQLXML interface. Statement createStatement()Statement object for sending SQL statements to the database. Statement createStatement(int resultSetType, int resultSetConcurrency)Statement object that will generate ResultSet objects with the given type and concurrency. Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)Statement object that will generate ResultSet objects with the given type, concurrency, and holdability. Struct createStruct(String typeName, Object[] attributes) boolean getAutoCommit()Connection object. String getCatalog()Connection object's current catalog name. Properties getClientInfo() String getClientInfo(String name) int getHoldability()ResultSet objects created using this Connection object. DatabaseMetaData getMetaData()DatabaseMetaData object that contains metadata about the database to which this Connection object represents a connection. int getTransactionIsolation()Connection object's current transaction isolation level. Map<String,Class<?>> getTypeMap()Map object associated with this Connection object. SQLWarning getWarnings()Connection object. boolean isClosed()Connection object has been closed. boolean isReadOnly()Connection object is in read-only mode. boolean isValid(int timeout) CallableStatement prepareCall(String sql)CallableStatement object for calling database stored procedures. CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency)CallableStatement object that will generate ResultSet objects with the given type and concurrency. CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)CallableStatement object that will generate ResultSet objects with the given type and concurrency. PreparedStatement prepareStatement(String sql)PreparedStatement object for sending parameterized SQL statements to the database. PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)PreparedStatement object that has the capability to retrieve auto-generated keys. PreparedStatement prepareStatement(String sql, int[] columnIndexes)PreparedStatement object capable of returning the auto-generated keys designated by the given array. PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)PreparedStatement object that will generate ResultSet objects with the given type and concurrency. PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)PreparedStatement object that will generate ResultSet objects with the given type, concurrency, and holdability. PreparedStatement prepareStatement(String sql, String[] columnNames)PreparedStatement object capable of returning the auto-generated keys designated by the given array. void releaseSavepoint(Savepoint savepoint)Savepoint and subsequent Savepoint objects from the current transaction. void rollback()Connection object. void rollback(Savepoint savepoint)Savepoint object was set. void setAutoCommit(boolean autoCommit) void setCatalog(String catalog)Connection object's database in which to work. void setClientInfo(Properties properties) void setClientInfo(String name, String value) void setHoldability(int holdability)ResultSet objects created using this Connection object to the given holdability. void setReadOnly(boolean readOnly) Savepoint setSavepoint()Savepoint object that represents it. Savepoint setSavepoint(String name)Savepoint object that represents it. void setTransactionIsolation(int level)Connection object to the one given. void setTypeMap(Map<String,Class<?>> map)TypeMap object as the type map for this Connection object.static final int TRANSACTION_NONE
static final int TRANSACTION_READ_UNCOMMITTED
static final int TRANSACTION_READ_COMMITTED
static final int TRANSACTION_REPEATABLE_READ
static final int TRANSACTION_SERIALIZABLE
TRANSACTION_REPEATABLE_READ and further prohibits the situation where one transaction reads all rows that satisfy a WHERE condition, a second transaction inserts a row that satisfies that WHERE condition, and the first transaction rereads for the same condition, retrieving the additional "phantom" row in the second read.
Statement createStatement() throws SQLException
Statement object for sending SQL statements to the database. SQL statements without parameters are normally executed using Statement objects. If the same SQL statement is executed many times, it may be more efficient to use a PreparedStatement object.
Result sets created using the returned Statement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling getHoldability().
Statement objectSQLException - if a database access error occurs or this method is called on a closed connectionPreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement object for sending parameterized SQL statements to the database.
A SQL statement with or without IN parameters can be pre-compiled and stored in a PreparedStatement object. 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 prepareStatement will 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 the PreparedStatement object is executed. This has no direct effect on users; however, it does affect which methods throw certain SQLException objects.
Result sets created using the returned PreparedStatement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling getHoldability().
sql - an SQL statement that may contain one or more '?' IN parameter placeholdersPreparedStatement object containing the pre-compiled SQL statementSQLException - if a database access error occurs or this method is called on a closed connectionCallableStatement prepareCall(String sql) throws SQLException
CallableStatement object for calling database stored procedures. The CallableStatement object 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 prepareCall is done; others may wait until the CallableStatement object is executed. This has no direct effect on users; however, it does affect which method throws certain SQLExceptions.
Result sets created using the returned CallableStatement object will by default be type TYPE_FORWARD_ONLY and have a concurrency level of CONCUR_READ_ONLY. The holdability of the created result sets can be determined by calling getHoldability().
sql - an SQL statement that may contain one or more '?' parameter placeholders. Typically this statement is specified using JDBC call escape syntax.CallableStatement object containing the pre-compiled SQL statementSQLException - if a database access error occurs or this method is called on a closed connectionString nativeSQL(String sql) throws SQLException
sql - an SQL statement that may contain one or more '?' parameter placeholdersSQLException - if a database access error occurs or this method is called on a closed connection
void setAutoCommit(boolean autoCommit)
throws SQLException
commit or the method rollback. By default, new connections are in auto-commit mode.
The commit occurs when the statement completes. The time when the statement completes depends on the type of SQL Statement:
CallableStatement objects or for statements that return multiple results, the statement is complete when all of the associated result sets have been closed, and all update counts and output parameters have been retrieved.NOTE: If this method is called during a transaction and the auto-commit mode is changed, the transaction is committed. If setAutoCommit is called and the auto-commit mode is not changed, the call is a no-op.
autoCommit - true to enable auto-commit mode; false to disable itSQLException - if a database access error occurs, setAutoCommit(true) is called while participating in a distributed transaction, or this method is called on a closed connectiongetAutoCommit()
boolean getAutoCommit()
throws SQLException
Connection object.Connection object's auto-commit modeSQLException - if a database access error occurs or this method is called on a closed connectionsetAutoCommit(boolean)
void commit()
throws SQLException
Connection object. This method should be used only when auto-commit mode has been disabled.SQLException - if a database access error occurs, this method is called while participating in a distributed transaction, if this method is called on a closed conection or this Connection object is in auto-commit modesetAutoCommit(boolean)
void rollback()
throws SQLException
Connection object. This method should be used only when auto-commit mode has been disabled.SQLException - if a database access error occurs, this method is called while participating in a distributed transaction, this method is called on a closed connection or this Connection object is in auto-commit modesetAutoCommit(boolean)
void close()
throws SQLException
Connection object's database and JDBC resources immediately instead of waiting for them to be automatically released.
Calling the method close on a Connection object that is already closed is a no-op.
It is strongly recommended that an application explicitly commits or rolls back an active transaction prior to calling the close method. If the close method is called and there is an active transaction, the results are implementation-defined.
SQLException - SQLException if a database access error occurs
boolean isClosed()
throws SQLException
Connection object has been closed. A connection is closed if the method close has been called on it or if certain fatal errors have occurred. This method is guaranteed to return true only when it is called after the method Connection.close has 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.
true if this Connection object is closed; false if it is still openSQLException - if a database access error occursDatabaseMetaData getMetaData() throws SQLException
DatabaseMetaData object that contains metadata about the database to which this Connection object 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.DatabaseMetaData object for this Connection objectSQLException - if a database access error occurs or this method is called on a closed connection
void setReadOnly(boolean readOnly)
throws SQLException
Note: This method cannot be called during a transaction.
readOnly - true enables read-only mode; false disables itSQLException - if a database access error occurs, this method is called on a closed connection or this method is called during a transaction
boolean isReadOnly()
throws SQLException
Connection object is in read-only mode.true if this Connection object is read-only; false otherwiseSQLException - SQLException if a database access error occurs or this method is called on a closed connectionvoid setCatalog(String catalog) throws SQLException
Connection object's database in which to work.
If the driver does not support catalogs, it will silently ignore this request.
catalog - the name of a catalog (subspace in this Connection object's database) in which to workSQLException - if a database access error occurs or this method is called on a closed connectiongetCatalog()String getCatalog() throws SQLException
Connection object's current catalog name.null if there is noneSQLException - if a database access error occurs or this method is called on a closed connectionsetCatalog(java.lang.String)
void setTransactionIsolation(int level)
throws SQLException
Connection object to the one given. The constants defined in the interface Connection are the possible transaction isolation levels.
Note: If this method is called during a transaction, the result is implementation-defined.
level - one of the following Connection constants: Connection.TRANSACTION_READ_UNCOMMITTED, Connection.TRANSACTION_READ_COMMITTED, Connection.TRANSACTION_REPEATABLE_READ, or Connection.TRANSACTION_SERIALIZABLE. (Note that Connection.TRANSACTION_NONE cannot be used because it specifies that transactions are not supported.)SQLException - if a database access error occurs, this method is called on a closed connection or the given parameter is not one of the Connection constantsDatabaseMetaData.supportsTransactionIsolationLevel(int), getTransactionIsolation()
int getTransactionIsolation()
throws SQLException
Connection object's current transaction isolation level.Connection.TRANSACTION_READ_UNCOMMITTED, Connection.TRANSACTION_READ_COMMITTED, Connection.TRANSACTION_REPEATABLE_READ, Connection.TRANSACTION_SERIALIZABLE, or Connection.TRANSACTION_NONE.SQLException - if a database access error occurs or this method is called on a closed connectionsetTransactionIsolation(int)SQLWarning getWarnings() throws SQLException
Connection object. If there is more than one warning, subsequent warnings will be chained to the first one and can be retrieved by calling the method SQLWarning.getNextWarning on the warning that was retrieved previously.
This method may not be called on a closed connection; doing so will cause an SQLException to be thrown.
Note: Subsequent warnings will be chained to this SQLWarning.
SQLWarning object or null if there are noneSQLException - if a database access error occurs or this method is called on a closed connectionSQLWarning
void clearWarnings()
throws SQLException
Connection object. After a call to this method, the method getWarnings returns null until a new warning is reported for this Connection object.SQLException - SQLException if a database access error occurs or this method is called on a closed connectionStatement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
Statement object that will generate ResultSet objects with the given type and concurrency. This method is the same as the createStatement method above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by calling getHoldability().resultSetType - a result set type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - a concurrency type; one of ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLEStatement object that will generate ResultSet objects with the given type and concurrencySQLException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type and concurrencySQLFeatureNotSupportedException - if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency.PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
PreparedStatement object that will generate ResultSet objects with the given type and concurrency. This method is the same as the prepareStatement method above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by calling getHoldability().sql - a String object that is the SQL statement to be sent to the database; may contain one or more '?' IN parametersresultSetType - a result set type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - a concurrency type; one of ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLEResultSet objects with the given type and concurrencySQLException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type and concurrencySQLFeatureNotSupportedException - if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency.CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
CallableStatement object that will generate ResultSet objects with the given type and concurrency. This method is the same as the prepareCall method above, but it allows the default result set type and concurrency to be overridden. The holdability of the created result sets can be determined by calling getHoldability().sql - a String object that is the SQL statement to be sent to the database; may contain on or more '?' parametersresultSetType - a result set type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency - a concurrency type; one of ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLECallableStatement object containing the pre-compiled SQL statement that will produce ResultSet objects with the given type and concurrencySQLException - if a database access error occurs, this method is called on a closed connection or the given parameters are not ResultSet constants indicating type and concurrencySQLFeatureNotSupportedException - if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency.Map<String,Class<?>> getTypeMap() throws SQLException
Map object associated with this Connection object. Unless the application has added an entry, the type map returned will be empty.java.util.Map object associated with this Connection objectSQLException - if a database access error occurs or this method is called on a closed connectionSQLFeatureNotSupportedException - if the JDBC driver does not support this methodsetTypeMap(java.util.MapYou are viewing a mobilized version of this site...
View original page here