更新时间:2024-11-12 GMT+08:00
分享

java.sql.Connection

java.sql.Connection是数据库连接接口。

表1 对java.sql.Connection接口的支持情况

方法名

描述

返回值类型

throws

支持JDBC4

支持计划外ALT

abort(Executor executor)

终止打开的连接。

void

SQLException

Yes

Yes

clearWarnings()

清除为此Connection对象报告的所有警告。

void

SQLException

Yes

Yes

close()

立即释放此Connection对象的数据库和JDBC资源,而不是等待它们自动释放。

void

SQLException

Yes

Yes

commit()

使自上次提交/回滚以来所做的所有更改永久化,并释放此Connection对象当前持有的任何数据库锁。仅当禁用了自动提交模式时,才应使用此方法。

void

SQLException

Yes

Yes

createArrayOf(String typeName, Object[] elements)

用于创建Array对象的工厂方法。

Array

SQLException

Yes

Yes

createBlob()

构造一个实现Blob接口的对象。返回的对象最初不包含数据。Blob接口的setBinaryStream和setBytes方法可以用于向Blob添加数据。

Blob

SQLException

Yes

Yes

createClob()

构造一个实现Clob接口的对象。返回的对象最初不包含数据。Clob接口的setAsciiStream、setCharacterStream和setString方法可以用于向Clob添加数据。

Clob

SQLException

Yes

Yes

createSQLXML()

构造一个实现SQLXML接口的对象。返回的对象最初不包含数据。可以使用SQLXML接口的createXmlStreamWriter对象和setString方法向SQLXML对象添加数据。

SQLXML

SQLException

Yes

Yes

createStatement()

创建一个用于将SQL语句发送到数据库的语句对象。

Statement

SQLException

Yes

Yes

createStatement(int resultSetType, int resultSetConcurrency)

创建一个语句对象,该对象将生成具有给定类型和并发性的ResultSet对象。

Statement

SQLException

Yes

Yes

createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)

创建一个语句对象,该对象将生成具有给定类型和并发性的ResultSet对象。

Statement

SQLException

Yes

Yes

getAutoCommit()

检索此连接对象的当前自动提交模式。

boolean

SQLException

Yes

Yes

getCatalog()

检索此Connection对象的当前目录名称。

String

SQLException

Yes

Yes

getClientInfo()

返回一个列表,其中包含驱动程序支持的每个客户端信息属性的名称和当前值。如果客户端信息属性尚未设置且没有默认值,则该属性的值可能为NULL。

当前获取到的只有ApplicationName和ApplicationType信息。

Properties

SQLException

Yes

Yes

getClientInfo(String name)

返回由name指定的客户端信息属性的值。如果尚未设置指定的客户端信息属性,并且没有默认值,此方法可能会返回NULL。如果驱动程序不支持指定的客户端信息属性名称,此方法也将返回NULL。

String

SQLException

Yes

Yes

getHoldability()

检索使用此Connection对象创建的ResultSet对象的当前保持性。

int

SQLException

Yes

Yes

getMetaData()

检索包含有关此Connection对象表示连接的数据库的元数据的DatabaseMetaData对象。元数据包括有关数据库表、其支持的SQL语法、其存储过程、此连接的功能等的信息。

DatabaseMetaData

SQLException

Yes

Yes

getNetworkTimeout()

检索驱动程序等待数据库请求完成的毫秒数。如果超过限制,将引发SQLException。

int

SQLException

Yes

Yes

getSchema()

检索此Connection对象的当前架构名称。

String

SQLException

Yes

Yes

getTransactionIsolation()

检索此Connection对象的当前事务隔离级别。

int

SQLException

Yes

Yes

getTypeMap()

检索与此Connection对象关联的Map对象。除非应用程序添加了条目,否则返回的类型映射将为空。

Map<String,Class<?>>

SQLException

Yes

Yes

getWarnings()

检索此Connection对象上的调用报告的第一个警告。如果有多个警告,则后续警告将链接到第一个警告,并可以通过对先前检索的警告调用方法SQLWarning.getNextWarning来检索。

SQLWarning

SQLException

Yes

Yes

isClosed()

检索此Connection对象是否已关闭。如果已对连接调用了方法关闭,或者发生了某些重大错误,则连接将关闭。只有在调用close ction.Close方法之后调用此方法时,才保证返回true。

boolean

SQLException

Yes

Yes

isReadOnly()

检索此Connection对象是否处于只读模式。

boolean

SQLException

Yes

Yes

isValid(int timeout)

如果连接尚未关闭并且仍然有效,则返回true。驱动程序应提交对连接的查询,或使用其他机制,以肯定地验证连接在调用此方法时仍然有效。

boolean

SQLException

Yes

Yes

nativeSQL(String sql)

将给定的SQL语句转换为系统的本机SQL语法。驱动程序可以在发送JDBC SQL语法之前将其转换为其系统的本机SQL语法。此方法返回驱动程序本应发送的语句的本机形式。

String

SQLException

Yes

Yes

prepareCall(String sql)

创建用于调用数据库存储过程的CallableStatement对象。CallableStatement对象提供了用于设置其IN和OUT参数的方法,以及用于执行对存储过程调用的方法。

CallableStatement

SQLException

Yes

Yes

prepareCall(String sql, int resultSetType, int resultSetConcurrency)

创建一个CallableStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。此方法与上面的准备呼叫方法相同,但它允许覆盖默认的结果集类型和并发。

CallableStatement

SQLException

Yes

Yes

prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

创建一个CallableStatement对象,该对象将生成具有给定类型和并发性的ResultSet对象。此方法与上面的准备呼叫方法相同,但它允许覆盖默认的结果集类型、结果集并发类型和保持性。

CallableStatement

SQLException

Yes

Yes

prepareStatement(String sql)

创建一个用于将参数化SQL语句发送到数据库的准备语句对象。

PreparedStatement

SQLException

Yes

Yes

prepareStatement(String sql, int autoGeneratedKeys)

创建一个默认的准备语句对象,该对象能够检索自动生成的键。给定的常量反馈驱动程序,它是否应使自动生成的密钥可供检索。如果SQL语句不是INSERT语句,也不是能够返回自动生成键的SQL语句,则将忽略此参数。

PreparedStatement

SQLException

Yes

Yes

prepareStatement(String sql, int[] columnIndexes)

创建一个默认的准备语句对象,该对象能够返回由给定数组指定的自动生成的键。此数组包含目标表中包含应可用的自动生成键的列的索引。如果SQL语句不是INSERT语句,也不是能够返回自动生成键的SQL语句,驱动程序将忽略数组。

PreparedStatement

SQLException

Yes

Yes

prepareStatement(String sql, int resultSetType, int resultSetConcurrency)

创建一个准备语句对象,该对象将生成具有给定类型和并发性的ResultSet对象。此方法与上面的准备语句方法相同,但它允许覆盖默认的结果集类型和并发。

PreparedStatement

SQLException

Yes

Yes

prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

创建一个准备语句对象,该对象将生成具有给定类型、并发性和保持性的ResultSet对象。

PreparedStatement

SQLException

Yes

Yes

prepareStatement(String sql, String[] columnNames)

创建一个默认的准备语句对象,该对象能够返回由给定数组指定的自动生成的键。此数组包含目标表中包含应返回的自动生成键的列的名称。如果SQL语句不是INSERT语句,也不是能够返回自动生成键的SQL语句,驱动程序将忽略数组。

PreparedStatement

SQLException

Yes

Yes

releaseSavepoint(Savepoint savepoint)

从当前事务中删除指定的Savepoint和后续Savepoint对象。删除保存点后对保存点的任何引用都将引发SQLException。

void

SQLException

Yes

Yes

rollback()

撤销在当前事务中所做的所有更改,并释放此Connection对象当前持有的任何数据库锁。仅当禁用自动提交模式时,才应使用此方法。

void

SQLException

Yes

Yes

rollback(Savepoint savepoint)

撤销设置给定Savepoint对象后所做的所有更改。仅当禁用自动提交模式时,才应使用此方法。

void

SQLException

Yes

Yes

setAutoCommit(boolean autoCommit)

将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式,则其所有SQL语句都将作为单个事务执行和提交。否则,其SQL语句将分组为事务,这些事务由对方法提交或方法回滚的调用终止。默认情况下,新连接处于自动提交模式。

void

SQLException

Yes

Yes

setClientInfo(Properties properties)

设置连接的客户端信息属性的值。Properties对象包含要设置的客户端信息属性的名称和值。属性列表中包含的客户端信息属性集替换连接上的当前客户端信息属性集。如果当前在连接上设置的属性不在属性列表中,则将清除该属性。

当前只会将client中的ApplicationName和ApplicationType信息进行替换。

void

SQLClientInfoException

Yes

Yes

setClientInfo(String name,String value)

将name指定的客户端info属性的值设置为value指定的值。

当前只会将client中的ApplicationName和ApplicationType信息进行替换。

void

SQLClientInfoException

Yes

Yes

setHoldability(int holdability)

将使用此Connection对象创建的ResultSet对象的默认保持性更改为给定的保持性。ResultSet对象的默认保持性可以通过调用DatabaseMetaData.getResultSetHoldability来确定。

void

SQLException

Yes

Yes

setNetworkTimeout(Executor executor, int milliseconds)

设置连接或从连接创建的对象等待数据库回复任何一个请求的最长时间。如果任何请求都未应答,则等待方法将返回SQLException,并且从Connection创建的Connection或对象将标记为已关闭。除关闭、isCabled或Connection.isValid方法外,对对象的任何后续使用都将引发SQLException。

void

SQLException

Yes

Yes

setReadOnly(boolean readOnly)

将此连接置于只读模式,作为驱动程序的提示,以启用数据库优化。

void

SQLException

Yes

Yes

setSavepoint()

在当前事务中创建一个未命名的保存点,并返回表示它的新保存点对象。

Savepoint

SQLException

Yes

Yes

setSavepoint(String name)

在当前事务中使用给定名称创建保存点,并返回表示它的新保存点对象。

Savepoint

SQLException

Yes

Yes

setSchema(String schema)

将给定的架构名称设置为访问。

void

SQLException

Yes

Yes

setTransactionIsolation(int level)

尝试将此Connection对象的事务隔离级别更改为给定的级别。接口Connection中定义的常量是可能的事务隔离级别。

void

SQLException

Yes

Yes

setTypeMap(Map<String,Class<?>> map)

安装给定的TypeMap对象作为此Connection对象的类型映射。类型映射将用于SQL结构化类型和不同类型的自定义映射。

void

SQLException

Yes

Yes

  1. 接口内部默认使用自动提交模式,若通过setAutoCommit(false)关闭自动提交模式,将会导致后面执行的语句受到显式事务包裹,数据库中不支持事务中执行的语句不能在此模式下执行。
  2. 不支持全密态数据库使用setClientInfo("send_token", null)传输密钥,使用setClientInfo("clear_token", null)销毁密钥。
  3. 创建PrepareStatement类时,在SQL语句中使用RETURNING语句,RETURNING子句不生效。

相关文档