| public interface java.sql Connection
|
Java SE 6 |
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);
| See also | getConnection, java.sql.Statement, java.sql.ResultSet, java.sql.DatabaseMetaData |
| Fields | |
|---|---|
| final public static int | TRANSACTION_NONE A constant indicating that transactions are not supported. |
| final public static int | TRANSACTION_READ_UNCOMMITTED A constant indicating that dirty reads, non-repeatable reads and phantom reads can occur. This level allows a row changed by one transaction to be read by another transaction before any changes in that row have been committed (a "dirty read"). If any of the changes are rolled back, the second transaction will have retrieved an invalid row. |
| final public static int | TRANSACTION_READ_COMMITTED A constant indicating that dirty reads are prevented; non-repeatable reads and phantom reads can occur. This level only prohibits a transaction from reading a row with uncommitted changes in it. |
| final public static int | TRANSACTION_REPEATABLE_READ A constant indicating that dirty reads and non-repeatable reads are prevented; phantom reads can occur. This level prohibits a transaction from reading a row with uncommitted changes in it, and it also prohibits the situation where one transaction reads a row, a second transaction alters the row, and the first transaction rereads the row, getting different values the second time (a "non-repeatable read"). |
| final public static int | TRANSACTION_SERIALIZABLE A constant indicating that dirty reads, non-repeatable reads and phantom reads are prevented. This level includes the prohibitions in 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.
|
| Methods | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| public void | clearWarnings() throws SQLException Details
Clears all warnings reported for this Connection object.
After a call to this method, the method getWarnings
returns null until a new warning is
reported for this Connection object.
| ||||||||||||||||||
| public void | close() throws SQLException Details
Releases this Connection object's database and JDBC resources
immediately instead of waiting for them to be automatically released.
Calling the method
It is strongly recommended that an application explicitly
commits or rolls back an active transaction prior to calling the
| ||||||||||||||||||
| public void | commit() throws SQLException Details
Makes 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.
| ||||||||||||||||||
| public Array | createArrayOf(String typeName, Object[] elements) throws SQLException Details
Factory method for creating Array objects.
Note: When
Note: The JDBC driver is responsible for mapping the elements
| ||||||||||||||||||
| public Blob | createBlob() throws SQLException Details
Constructs an object that implements the Blob interface. The object
returned initially contains no data. The setBinaryStream and
setBytes methods of the Blob interface may be used to add data to
the Blob.
| ||||||||||||||||||
| public Clob | createClob() throws SQLException Details
Constructs an object that implements the Clob interface. The object
returned initially contains no data. The setAsciiStream,
setCharacterStream and setString methods of
the Clob interface may be used to add data to the Clob.
| ||||||||||||||||||
| public NClob | createNClob() throws SQLException Details
Constructs an object that implements the NClob interface. The object
returned initially contains no data. The setAsciiStream,
setCharacterStream and setString methods of the NClob interface may
be used to add data to the NClob.
| ||||||||||||||||||
| public BaseQuery<T> | createQueryObject(Class ifc) throws SQLException Details
Creates a concrete implementation of a Query interface using the JDBC drivers QueryObjectGenerator
implementation.
If the JDBC driver does not provide its own QueryObjectGenerator, the QueryObjectGenerator
provided with Java SE will be used.
| ||||||||||||||||||
| public BaseQuery<T> | createQueryObject(Class ifc, Connection con) throws SQLException Details
Creates a concrete implementation of a Query interface using the JDBC drivers QueryObjectGenerator
implementation.
If the JDBC driver does not provide its own
This method is primarly for developers of Wrappers to JDBC implementations.
Application developers should use
| ||||||||||||||||||
| public SQLXML | createSQLXML() throws SQLException Details
Constructs an object that implements the SQLXML interface. The object
returned initially contains no data. The createXmlStreamWriter object and
setString method of the SQLXML interface may be used to add data to the SQLXML
object.
| ||||||||||||||||||
| public Statement | createStatement() throws SQLException Details
Creates a 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
| ||||||||||||||||||
| public Statement | createStatement(int resultSetType, int resultSetConcurrency) throws SQLException Details
Creates a 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.
| ||||||||||||||||||
| public Statement | createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Details
Creates a Statement object that will generate
ResultSet objects with the given type, concurrency,
and holdability.
This method is the same as the createStatement method
above, but it allows the default result set
type, concurrency, and holdability to be overridden.
| ||||||||||||||||||
| public Struct | createStruct(String typeName, Object[] attributes) throws SQLException Details
Factory method for creating Struct objects.
| ||||||||||||||||||
| public String | nativeSQL(String sql) throws SQLException Details
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.
| ||||||||||||||||||
| public CallableStatement | prepareCall(String sql) throws SQLException Details
Creates a 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
Result sets created using the returned
| ||||||||||||||||||
| public CallableStatement | prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException Details
Creates a 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.
| ||||||||||||||||||
| public CallableStatement | prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Details
Creates a 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, result set concurrency type and holdability to be overridden.
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql) throws SQLException Details
Creates a 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 Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method
Result sets created using the returned
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException Details
Creates a 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.
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException Details
Creates a PreparedStatement object that will generate
ResultSet objects with the given type, concurrency,
and holdability.
This method is the same as the
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql, int autoGeneratedKeys) throws SQLException Details
Creates a default PreparedStatement object 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 an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method
Result sets created using the returned
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql, int[] columnIndexes) throws SQLException Details
Creates a default PreparedStatement object 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. The driver will ignore the array if the SQL statement
is not an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
An SQL statement with or without IN parameters can be
pre-compiled and stored in a
Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method
Result sets created using the returned
| ||||||||||||||||||
| public PreparedStatement | prepareStatement(String sql, String[] columnNames) throws SQLException Details
Creates a default PreparedStatement object 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.
The driver will ignore the array if the SQL statement
is not an INSERT statement, or an SQL statement able to return
auto-generated keys (the list of such statements is vendor-specific).
An SQL statement with or without IN parameters can be
pre-compiled and stored in a
Note: This method is optimized for handling
parametric SQL statements that benefit from precompilation. If
the driver supports precompilation,
the method
Result sets created using the returned
| ||||||||||||||||||
| public void | releaseSavepoint(Savepoint savepoint) throws SQLException Details
Removes the specified Savepoint and subsequent Savepoint objects from the current
transaction. Any reference to the savepoint after it have been removed
will cause an SQLException to be thrown.
| ||||||||||||||||||
| public void | rollback() throws SQLException Details
Undoes all changes made in the current transaction
and releases any database locks currently held
by this Connection object. This method should be
used only when auto-commit mode has been disabled.
| ||||||||||||||||||
| public void | rollback(Savepoint savepoint) throws SQLException Details
Undoes all changes made after the given Savepoint object
was set.
This method should be used only when auto-commit has been disabled.
| ||||||||||||||||||
| Properties | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| public void | setAutoCommit(boolean autoCommit) throws SQLException Details
Sets 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 method 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:
NOTE: If this method is called during a transaction and the
auto-commit mode is changed, the transaction is committed. If
| ||||||||||||
| public boolean | getAutoCommit() throws SQLException Details
Retrieves the current auto-commit mode for this Connection
object.
| ||||||||||||
| public void | setCatalog(String catalog) throws SQLException Details
Sets the given catalog name in order to select
a subspace of this Connection object's database
in which to work.
If the driver does not support catalogs, it will silently ignore this request.
| ||||||||||||
| public String | getCatalog() throws SQLException Details
Retrieves this Connection object's current catalog name.
| ||||||||||||
| public void | setClientInfo(String name, String value) throws SQLClientInfoException Details
Sets the value of the client info property specified by name to the
value specified by value.
Applications may use the The driver stores the value specified in a suitable location in the database. For example in a special register, session parameter, or system table column. For efficiency the driver may defer setting the value in the database until the next time a statement is executed or prepared. Other than storing the client information in the appropriate place in the database, these methods shall not alter the behavior of the connection in anyway. The values supplied to these methods are used for accounting, diagnostics and debugging purposes only. The driver shall generate a warning if the client info name specified is not recognized by the driver.
If the value specified to this method is greater than the maximum
length for the property the driver may either truncate the value and
generate a warning or generate a The following are standard client info properties. Drivers are not required to support these properties however if the driver supports a client info property that can be described by one of the standard properties, the standard property name should be used.
| ||||||||||||
| public void | setClientInfo(Properties properties) throws SQLClientInfoException Details
Sets the value of the connection's client info properties. The
Properties object contains the names and values of the client info
properties to be set. The set of client info properties contained in
the properties list replaces the current set of client info properties
on the connection. If a property that is currently set on the
connection is not present in the properties list, that property is
cleared. Specifying an empty properties list will clear all of the
properties on the connection. See setClientInfo (String, String) for
more information.
If an error occurs in setting any of the client info properties, a
| ||||||||||||
| public String | getClientInfo(String name) throws SQLException Details
Returns the value of the client info property specified by name. This
method may return null if the specified client info property has not
been set and does not have a default value. This method will also
return null if the specified client info property name is not supported
by the driver.
Applications may use the
| ||||||||||||
| public Properties | getClientInfo() throws SQLException Details
Returns a list containing the name and current value of each client info
property supported by the driver. The value of a client info property
may be null if the property has not been set and does not have a
default value.
| ||||||||||||
| public boolean | isClosed() throws SQLException Details
Retrieves whether this 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.
| ||||||||||||
| public void | setHoldability(int holdability) throws SQLException Details
Changes the default holdability of ResultSet objects
created using this Connection object to the given
holdability. The default holdability of ResultSet objects
can be be determined by invoking
DatabaseMetaData#getResultSetHoldability.
| ||||||||||||
| public int | getHoldability() throws SQLException Details
Retrieves the current holdability of ResultSet objects
created using this Connection object.
| ||||||||||||
| public DatabaseMetaData | getMetaData() throws SQLException Details
Retrieves a 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.
| ||||||||||||
| public void | setReadOnly(boolean readOnly) throws SQLException Details
Puts 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.
| ||||||||||||
| public boolean | isReadOnly() throws SQLException Details
Retrieves whether this Connection
object is in read-only mode.
| ||||||||||||
| public Savepoint | setSavepoint() throws SQLException Details
Creates an unnamed savepoint in the current transaction and
returns the new Savepoint object that represents it.
if setSavepoint is invoked outside of an active transaction, a transaction will be started at this newly created savepoint.
| ||||||||||||
| public Savepoint | setSavepoint(String name) throws SQLException Details
Creates a savepoint with the given name in the current transaction
and returns the new Savepoint object that represents it.
if setSavepoint is invoked outside of an active transaction, a transaction will be started at this newly created savepoint.
| ||||||||||||
| public void | setTransactionIsolation(int level) throws SQLException Details
Attempts to change the transaction isolation level for this
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.
| ||||||||||||
| public int | getTransactionIsolation() throws SQLException Details
Retrieves this Connection object's current
transaction isolation level.
| ||||||||||||
| public void | setTypeMap(Map map) throws SQLException Details
Installs the given TypeMap object as the type map for
this Connection object. The type map will be used for the
custom mapping of SQL structured types and distinct types.
| ||||||||||||
| public Map | getTypeMap() throws SQLException Details
Retrieves the Map object associated with this
Connection object.
Unless the application has added an entry, the type map returned
will be empty.
| ||||||||||||
| public boolean | isValid(int timeout) throws SQLException Details
Returns true if the connection has not been closed and is still valid.
The driver shall submit a query on the connection or use some other
mechanism that positively verifies the connection is still valid when
this method is called.
The query submitted by the driver to validate the connection shall be executed in the context of the current transaction.
| ||||||||||||
| public SQLWarning | getWarnings() throws SQLException Details
Retrieves the first warning reported by calls on this
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
Note: Subsequent warnings will be chained to this SQLWarning.
| ||||||||||||
| About DocWeb · Bundles · Export · Export All | Top 10 · Statistics · Login |
| About Sun · Contact · Privacy · Terms of Use · Trademarks | Java SE 6 · Copyright © 1994-2013 Sun Microsystems, Inc.All rights reserved. Use is subject to license terms |
![]() |
![]() |
|