public interface Connection extends Wrapper, AutoCloseable
一个特定数据库的连接(会话)。SQL语句的执行结果是在一个连接上下文返回。
一个Connection对象的数据库能够提供描述其表的信息,其支持的SQL语法,它的存储过程,该连接的能力,等等。这个信息是与getMetaData方法得到的。
注:当配置一个Connection,JDBC应用程序应使用适当的Connection方法如setAutoCommit或setTransactionIsolation。应用程序不应该直接调用SQL命令改变连接的配置时,有一个JDBC方法。默认情况下,Connection对象是在自动提交模式,这意味着它会自动提交执行各语句后的变化。如果自动提交模式已被禁用,方法commit必须显式地调用以提交更改;否则,数据库的修改将不会被保存。
使用JDBC 2.1核心API有一个空的类型图与它创造了一个新的Connection对象。用户可以输入该类型MapUDT自定义映射。当一个UDT是从与方法ResultSet.getObject数据源检索的方法,getObject将检查连接的类型图是否有,UDT的入口。如果是这样的话,那getObject方法将MapUDT的类表示。如果没有进入,UDT将使用标准的映射。
用户可以创建一个新类型的Map,这是一个java.util.Map对象,它使一个条目,并把它传递给java.sql方法可以执行自定义映射。在这种情况下,该方法将使用给定的类型映射,而不是与连接关联的类型映射。
例如,下面的代码段指定的SQL类型ATHLETES将映射到java编程语言中的类Athletes。代码片段检索对象的Connection con类型图,插入,然后设置类型图与新进入的连接的类型图。
java.util.mapMap=欺诈。gettypemap();Map。把(“myschemaname。运动员”类。forName(“运动员”));欺诈。settypemap(图);
| Modifier and Type | Field and Description |
|---|---|
static int |
TRANSACTION_NONE
不支持事务的常数。
|
static int |
TRANSACTION_READ_COMMITTED
一个常量,指示脏读是防止的;不可重复的读取和幻影读取可以发生。
|
static int |
TRANSACTION_READ_UNCOMMITTED
一个常量,指示脏读,不可重复的读取和幻象读取可以发生。
|
static int |
TRANSACTION_REPEATABLE_READ
一个常量,指示脏读和不可重复的读取是防止;幻影读取可以发生。
|
static int |
TRANSACTION_SERIALIZABLE
防止脏读、不可重复读取和体模读取的常数。
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort(Executor executor)
终止一个打开的连接。
|
void |
clearWarnings()
清除所有的警告报道的这
Connection对象。
|
void |
close()
此次发布的
Connection对象的数据库和JDBC资源,而不是等待他们自动的立即释放。
|
void |
commit()
使自上次提交/回滚永久释放任何数据库锁的
Connection对象目前持有的所有更改。
|
Array |
createArrayOf(String typeName, Object[] elements)
创建数组对象的工厂方法。
|
Blob |
createBlob()
构建实现
Blob接口的对象。
|
Clob |
createClob()
构建实现
Clob接口的对象。
|
NClob |
createNClob()
构建实现
NClob接口的对象。
|
SQLXML |
createSQLXML()
构建实现
SQLXML接口的对象。
|
Statement |
createStatement()
创建用于向数据库发送SQL语句的一
Statement对象。
|
Statement |
createStatement(int resultSetType, int resultSetConcurrency)
创建一个
Statement对象会产生与给定类型和并发
ResultSet对象。
|
Statement |
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
创建一个对象,会产生
Statement给定类型的对象,
ResultSet并发,和保持能力。
|
Struct |
createStruct(String typeName, Object[] attributes)
创建结构对象的工厂方法。
|
boolean |
getAutoCommit()
检索当前自动提交这
Connection对象模式。
|
String |
getCatalog()
这
Connection检索对象的当前目录的名字。
|
Properties |
getClientInfo()
返回包含驱动程序支持的每个客户端信息属性的名称和当前值的列表。
|
String |
getClientInfo(String name)
返回由名称指定的客户端信息属性的值。
|
int |
getHoldability()
检索当前保持性
ResultSet对象创建使用该
Connection对象。
|
DatabaseMetaData |
getMetaData()
检索
DatabaseMetaData对象包含元数据的数据库,这
Connection对象代表一个连接。
|
int |
getNetworkTimeout()
检索驱动程序将等待数据库请求完成的毫秒数。
|
String |
getSchema()
这
Connection检索对象的当前架构名称。
|
int |
getTransactionIsolation()
这
Connection检索对象的当前事务隔离级别。
|
Map<String,类<?>> |
getTypeMap()
检索与此
Connection对象相关的
Map对象。
|
SQLWarning |
getWarnings()
获取第一个警告,呼吁这
Connection报道对象。
|
boolean |
isClosed()
这是否
Connection检索对象已关闭。
|
boolean |
isReadOnly()
这是否
Connection检索对象是只读模式。
|
boolean |
isValid(int timeout)
如果连接没有被关闭,并且仍然有效,则返回真。
|
String |
nativeSQL(String sql)
将给定的SQL语句到系统的SQL语法。
|
CallableStatement |
prepareCall(String sql)
创建一个
CallableStatement对象调用数据库存储过程。
|
CallableStatement |
prepareCall(String sql, int resultSetType, int resultSetConcurrency)
创建一个
CallableStatement对象会产生与给定类型和并发
ResultSet对象。
|
CallableStatement |
prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
创建一个
CallableStatement对象会产生与给定类型和并发
ResultSet对象。
|
PreparedStatement |
prepareStatement(String sql)
创建参数化的SQL语句发送到数据库的
PreparedStatement对象。
|
PreparedStatement |
prepareStatement(String sql, int autoGeneratedKeys)
创建一个默认的
PreparedStatement对象有能力获取自动生成的键。
|
PreparedStatement |
prepareStatement(String sql, int[] columnIndexes)
创建一个能够返回自动生成由给定的数组指定键的默认
PreparedStatement对象。
|
PreparedStatement |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
创建一个
PreparedStatement对象会产生与给定类型和并发
ResultSet对象。
|
PreparedStatement |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
创建一个对象,会产生
PreparedStatement给定类型的对象,
ResultSet并发,和保持能力。
|
PreparedStatement |
prepareStatement(String sql, String[] columnNames)
创建一个能够返回自动生成由给定的数组指定键的默认
PreparedStatement对象。
|
void |
releaseSavepoint(Savepoint savepoint)
从当前事务中移除指定的
Savepoint和随后的
Savepoint对象。
|
void |
rollback()
撤消所有更改在当前事务并释放任何数据库锁的
Connection对象目前持有。
|
void |
rollback(Savepoint savepoint)
撤消所有的变化后,给
Savepoint对象集。
|
void |
setAutoCommit(boolean autoCommit)
将此连接的自动提交模式设置为给定的状态。
|
void |
setCatalog(String catalog)
设置给定的目录名称以选择空间,这
Connection对象的数据库工作。
|
void |
setClientInfo(Properties properties)
设置连接的客户端信息属性的值。
|
void |
setClientInfo(String name, String value)
将由名称指定的客户端信息属性的值设置为值指定的值。
|
void |
setHoldability(int holdability)
使用这种
Connection对象到给定的保持能力创造了
ResultSet对象默认的保持能力的变化。
|
void |
setNetworkTimeout(Executor executor, int milliseconds)
设置最大时期
Connection或物体从
Connection创建将等待数据库回答任何一个请求。
|
void |
setReadOnly(boolean readOnly)
将此连接放在只读模式中,作为对驱动程序的提示,以启用数据库优化。
|
Savepoint |
setSavepoint()
创建在当前事务中一个未命名的保存点并返回表示它的新
Savepoint对象。
|
Savepoint |
setSavepoint(String name)
创建一个保存点与给定的名称在当前事务并返回表示它的新
Savepoint对象。
|
void |
setSchema(String schema)
设置给定的模式名称以访问。
|
void |
setTransactionIsolation(int level)
尝试更改事务隔离级别为
Connection对象到一个给定的。
|
void |
setTypeMap(Map<String,类<?>> map)
安装了
TypeMap对象为本
Connection对象类型图。
|
isWrapperFor, unwrapstatic 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禁令进一步禁止的情况下,一个事务读取,满足
WHERE条件的所有行,另一个事务插入一行,满足
WHERE条件,和第一个事务再次进行相同的条件下,在二读获取额外的“幻影”行。
Statement createStatement() throws SQLException
Statement对象。不带参数的SQL语句通常用
Statement对象执行。如果相同的SQL语句被执行多次,它可能是更有效地使用一个
PreparedStatement对象。
结果集创建使用返回的Statement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别。对生成的结果集的保持能力可以通过调用getHoldability()确定。
Statement对象
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
PreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement对象。
一个带或不带参数的SQL语句可以被预编译并存储在一个PreparedStatement对象。此对象可以被用来有效地执行此语句多次。
注:这方法是参数化的SQL语句,受益于预编译处理优化。如果驱动程序支持预编译的方法,prepareStatement将报表数据库的预编译。有些司机可能不支持预编译。在这种情况下,语句不能被发送到数据库之前执行PreparedStatement对象。这对用户没有直接的影响;但是,它确实影响了该方法投入一定的SQLException对象。
结果集创建使用返回的PreparedStatement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别。对生成的结果集的保持能力可以通过调用getHoldability()确定。
sql -一个SQL语句可能包含一个或多个“?”在参数占位符
PreparedStatement对象
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
CallableStatement prepareCall(String sql) throws SQLException
CallableStatement对象调用数据库存储过程。的
CallableStatement对象提供用于建立和参数的方法,用于执行调用存储过程和方法。
注:这种方法处理存储过程调用语句的优化。有些司机可能会发送调用语句的数据库的方法prepareCall做;别人可能会等到CallableStatement对象执行。这对用户没有直接的影响;但是,它确实影响该方法抛出SQLException一定。
结果集创建使用返回的CallableStatement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别。对生成的结果集的保持能力可以通过调用getHoldability()确定。
sql -一个SQL语句可能包含一个或多个“?”参数占位符。通常这个语句使用JDBC调用转义语法规定。
CallableStatement对象
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
String nativeSQL(String sql) throws SQLException
sql -一个SQL语句可能包含一个或多个“?”参数占位符
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
void setAutoCommit(boolean autoCommit)
throws SQLException
commit或方法
rollback终止交易。默认情况下,新的连接是在自动提交模式。
语句在语句完成时发生。在语句结束时的时间取决于SQL语句的类型:
CallableStatement对象或语句返回多个结果,声明时完成所有相关的结果集被关闭,所有更新计数和输出参数进行检索。如果这是一种注:事务和自动提交模式改变期间,提交事务。如果setAutoCommit称为自动提交模式不改变,电话是一个空操作。
autoCommit -
true启用自动提交模式;
false禁用它
SQLException -如果一个数据库访问错误发生,setAutoCommit(真)是在参与分布式事务,或调用此方法在一个封闭的连接
getAutoCommit()
boolean getAutoCommit()
throws SQLException
Connection对象模式。
Connection对象的自动提交模式的现状
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
setAutoCommit(boolean)
void commit()
throws SQLException
Connection对象目前持有的所有更改。此方法应仅在自动提交模式已禁用时使用。
SQLException -如果一个数据库访问错误发生时,这种方法是在参与分布式事务的调用,如果调用此方法在一个封闭的连接或这
Connection对象是在自动提交模式
setAutoCommit(boolean)
void rollback()
throws SQLException
Connection对象目前持有。此方法应仅在自动提交模式已禁用时使用。
SQLException -如果一个数据库访问错误发生时,这种方法是在参与分布式事务称,这种方法被称为在一个封闭的连接或这
Connection对象是在自动提交模式
setAutoCommit(boolean)
void close()
throws SQLException
Connection对象的数据库和JDBC资源,而不是等待他们自动的立即释放。
在Connection对象已关闭调用方法close是一个空操作。
这是强烈推荐,应用显式提交或回滚活动事务close方法之前调用。如果close方法被调用,有一个活跃的交易,结果是实现定义。
close 接口
AutoCloseable
SQLException - SQLException如果数据库访问错误发生
boolean isClosed()
throws SQLException
Connection检索对象已关闭。一个连接,如果方法
close一直呼吁或者某些致命错误发生的关。这个方法保证收益
true只有当它在方法
Connection.close被称为。
一般不能调用此方法以确定是否对数据库的连接是有效的或无效的。一个典型的客户端可以通过捕获在尝试操作时可能引发的异常来确定连接是无效的。
true
Connection对象是闭合的;
false如果它仍然是开放的
SQLException -如果一个数据库访问错误发生
DatabaseMetaData getMetaData() throws SQLException
DatabaseMetaData对象包含元数据的数据库,这
Connection对象代表一个连接。元数据包括关于数据库的表的信息,其支持的SQL语法,它的存储过程,该连接的能力,等等。
Connection对象
DatabaseMetaData对象
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
void setReadOnly(boolean readOnly)
throws SQLException
注:这种方法不能称为事务期间。
readOnly -
true启用只读模式;
false禁用它
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或这种方法是在调用的事务
boolean isReadOnly()
throws SQLException
Connection检索对象是只读模式。
true
Connection对象是只读的;
false否则
SQLException - SQLException如果数据库访问错误发生或调用此方法在一个封闭的连接
void setCatalog(String catalog) throws SQLException
Connection对象的数据库工作。
如果驱动程序不支持目录,它会悄悄地忽略这个请求。
打电话setCatalog对先前创建的或准备Statement对象无影响。它是实现DBMS定义是否准备操作发生时立即Connection prepareStatement或prepareCall调用方法。为了获得最大的可移植性,setCatalog前应Statement创建或准备叫。
catalog -一个目录的名称(在这
Connection对象的数据库空间)的工作
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
getCatalog()
String getCatalog() throws SQLException
Connection检索对象的当前目录的名字。
null如果没有
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
setCatalog(java.lang.String)
void setTransactionIsolation(int level)
throws SQLException
Connection对象到一个给定的。在接口
Connection定义常数是可能的事务隔离级别。
注:如果这种方法在一个事务中,结果是实现定义。
level -下面的一个
Connection常数:
Connection.TRANSACTION_READ_UNCOMMITTED,
Connection.TRANSACTION_READ_COMMITTED,
Connection.TRANSACTION_REPEATABLE_READ,或
Connection.TRANSACTION_SERIALIZABLE。(注意,
Connection.TRANSACTION_NONE不能使用,因为它指定不支持。交易)
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不一的
Connection常数
DatabaseMetaData.supportsTransactionIsolationLevel(int),
getTransactionIsolation()
int getTransactionIsolation()
throws SQLException
Connection检索对象的当前事务隔离级别。
Connection.TRANSACTION_READ_UNCOMMITTED,
Connection.TRANSACTION_READ_COMMITTED,
Connection.TRANSACTION_REPEATABLE_READ,
Connection.TRANSACTION_SERIALIZABLE,或
Connection.TRANSACTION_NONE。
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
setTransactionIsolation(int)
SQLWarning getWarnings() throws SQLException
Connection报道对象。如果有一个以上的警告,随后的警告会被第一个,可以用警告,检索之前调用该方法
SQLWarning.getNextWarning检索。
这种方法可能不被称为在一个封闭的连接;这样做将导致SQLException被。
注:随后的警告会被这sqlwarning。
SQLWarning对象或
null如果没有
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
SQLWarning
void clearWarnings()
throws SQLException
Connection对象。调用此方法后,该方法
getWarnings返回
null直到新的警告是报道的这
Connection对象。
SQLException - SQLException如果数据库访问错误发生或调用此方法在一个封闭的连接
Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
Statement对象会产生与给定类型和并发
ResultSet对象。这种方法是在
createStatement法相同,但它允许默认结果集的类型和并发被覆盖。对生成的结果集的保持能力可以通过调用
getHoldability()确定。
resultSetType -一个结果集的类型;一个
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -并发类型;一个
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
Statement对象会产生与给定类型和并发
ResultSet对象
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式和并发
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不支持指定结果集的类型和结果集的并发。
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
PreparedStatement对象会产生与给定类型和并发
ResultSet对象。这种方法是在
prepareStatement法相同,但它允许默认结果集的类型和并发被覆盖。对生成的结果集的保持能力可以通过调用
getHoldability()确定。
sql -
String对象,SQL语句发送到数据库;可以包含一个或多个“?”在参数
resultSetType -一个结果集的类型;一个
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -并发类型;一个
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
ResultSet对象
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式和并发
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不支持指定结果集的类型和结果集的并发。
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
CallableStatement对象会产生与给定类型和并发
ResultSet对象。这种方法是在
prepareCall法相同,但它允许默认结果集的类型和并发被覆盖。对生成的结果集的保持能力可以通过调用
getHoldability()确定。
sql -
String对象,SQL语句发送到数据库;也许包含以上'吗?”参数
resultSetType -一个结果集的类型;一个
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -并发类型;一个
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
CallableStatement对象包含预编译的SQL语句将产生与给定类型和并发
ResultSet对象
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式和并发
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不支持指定结果集的类型和结果集的并发。
Map<String,类<?>> getTypeMap() throws SQLException
Connection对象相关的
Map对象。除非应用程序添加了一个条目,否则返回的类型将是空的。
你必须调用后返回的setTypeMap更改getTypeMap作为JDBC驱动程序可能会创建一个内部副本的Map对象传递给setTypeMap的Map对象:
Map
<字符串>
,<?> > gettypemap() myMap中=欺诈;myMap中。把(“myschemaname。运动员,运动员班);CON settypemap(myMap中);
字符串>
Connection对象相关的
java.util.Map对象
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)
void setTypeMap(Map<String,类<?>> map) throws SQLException
TypeMap对象为本
Connection对象类型图。类型Map将用于SQL结构化类型和不同类型的自定义映射。
你要设置的值为TypeMap来说setMap之前作为一个JDBC驱动程序可以创建的TypeMap内部副本:
MapmyMap中
<字符串,类<?>
> =新的HashMap类<
字符串,类<?>
map -安装在这
Connection对象的默认类型Map更换
java.util.Map对象
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不是一个
java.util.Map对象
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
getTypeMap()
void setHoldability(int holdability)
throws SQLException
Connection对象到给定的保持能力创造了
ResultSet对象默认的保持能力的变化。
ResultSet对象的默认的保持能力可以通过调用
DatabaseMetaData.getResultSetHoldability()确定。
holdability -
ResultSet保持性常数;一
ResultSet.HOLD_CURSORS_OVER_COMMIT或
ResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException -如果一个数据库访问时,这种方法被称为在一个封闭的连接,或给定的参数不是一个
ResultSet常量指示保持能力
SQLFeatureNotSupportedException -如果给定的保持能力是不支持的
getHoldability(),
DatabaseMetaData.getResultSetHoldability(),
ResultSet
int getHoldability()
throws SQLException
ResultSet对象创建使用该
Connection对象。
ResultSet.HOLD_CURSORS_OVER_COMMIT或
ResultSet.CLOSE_CURSORS_AT_COMMIT
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
setHoldability(int),
DatabaseMetaData.getResultSetHoldability(),
ResultSet
Savepoint setSavepoint() throws SQLException
Savepoint对象。
如果setsavepoint是调用一个活动事务外,交易将在这个新创建的保存点开始。
Savepoint对象
SQLException -如果一个数据库访问错误发生时,这种方法是在参与分布式事务称,这种方法被称为在一个封闭的连接或这
Connection对象是目前在自动提交模式
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
Savepoint
Savepoint setSavepoint(String name) throws SQLException
Savepoint对象。
如果setsavepoint是调用一个活动事务外,交易将在这个新创建的保存点开始。
name -
String含有保存点名称
Savepoint对象
SQLException -如果一个数据库访问错误发生时,这种方法是在参与分布式事务称,这种方法被称为在一个封闭的连接或这
Connection对象是目前在自动提交模式
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
Savepoint
void rollback(Savepoint savepoint) throws SQLException
Savepoint对象集。
只有当禁用了自动提交时,才使用这种方法。
savepoint -滚回
Savepoint对象
SQLException -如果一个数据库访问错误发生时,这种方法是在参与分布式事务称,这种方法被称为在一个封闭的连接,
Savepoint对象不再有效,或这
Connection对象是目前在自动提交模式
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
Savepoint,
rollback()
void releaseSavepoint(Savepoint savepoint) throws SQLException
Savepoint和随后的
Savepoint对象。任何参考的保存点之后它已被删除,将导致
SQLException被。
savepoint -
Savepoint对象被删除
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的
Savepoint对象不在当前事务中有效保存点
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Statement给定类型的对象,
ResultSet并发,和保持能力。这种方法是在
createStatement法相同,但它允许默认结果集的类型,并发,和保持能力被覆盖。
resultSetType -下面的一个
ResultSet常数:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -下面的一个
ResultSet常数:
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
resultSetHoldability -下面的一个
ResultSet常数:
ResultSet.HOLD_CURSORS_OVER_COMMIT或
ResultSet.CLOSE_CURSORS_AT_COMMIT
Statement对象会产生给定类型的对象,
ResultSet并发,和保持能力
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式,并发,和保持能力
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不是指定结果集类型支持,结果集的保持能力和结果集的并发。
ResultSet
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
PreparedStatement给定类型的对象,
ResultSet并发,和保持能力。
该方法为prepareStatement方法同上,但它允许默认结果集的类型,并发,和保持能力被覆盖。
sql -
String对象,SQL语句发送到数据库;可以包含一个或多个“?”在参数
resultSetType -下面的一个
ResultSet常数:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -下面的一个
ResultSet常数:
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
resultSetHoldability -下面的一个
ResultSet常数:
ResultSet.HOLD_CURSORS_OVER_COMMIT或
ResultSet.CLOSE_CURSORS_AT_COMMIT
PreparedStatement对象,包含预编译的SQL语句,这将产生给定类型的对象,
ResultSet并发,和保持能力
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式,并发,和保持能力
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不是指定结果集类型支持,结果集的保持能力和结果集的并发。
ResultSet
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
CallableStatement对象会产生与给定类型和并发
ResultSet对象。这种方法是在
prepareCall法相同,但它允许默认结果集的类型,结果集的并发式和保持能力被覆盖。
sql -
String对象,SQL语句发送到数据库;也许包含以上'吗?”参数
resultSetType -下面的一个
ResultSet常数:
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE,或
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency -下面的一个
ResultSet常数:
ResultSet.CONCUR_READ_ONLY或
ResultSet.CONCUR_UPDATABLE
resultSetHoldability -下面的一个
ResultSet常数:
ResultSet.HOLD_CURSORS_OVER_COMMIT或
ResultSet.CLOSE_CURSORS_AT_COMMIT
CallableStatement对象,包含预编译的SQL语句,这将产生给定类型的对象,
ResultSet并发,和保持能力
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不
ResultSet常数表示式,并发,和保持能力
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法或这种方法不是指定结果集类型支持,结果集的保持能力和结果集的并发。
ResultSet
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
PreparedStatement对象有能力获取自动生成的键。给定的常数告诉驱动程序,它是否应该使自动生成的密钥可用于检索。如果SQL语句是不
INSERT声明此参数被忽略,或SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
注:这方法是参数化的SQL语句,受益于预编译处理优化。如果驱动程序支持预编译的方法,prepareStatement将报表数据库的预编译。有些司机可能不支持预编译。在这种情况下,语句不能被发送到数据库之前执行PreparedStatement对象。这对用户没有直接的影响;但是,它确实影响了该方法抛出SQLException一定。
结果集创建使用返回的PreparedStatement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别,创建结果集的保持能力可以通过调用getHoldability()确定。
sql -一个SQL语句可能包含一个或多个“?”在参数占位符
autoGeneratedKeys -指示是否自动生成的键应该返回一个或
Statement.NO_GENERATED_KEYS
Statement.RETURN_GENERATED_KEYS旗;
PreparedStatement对象,包含预编译的SQL语句,将有能力返回自动生成的键
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接或给定的参数不是一个
Statement常数,指示是否自动生成的键应该归还
SQLFeatureNotSupportedException如果JDBC驱动程序不与statement.return_generated_keys不断支持这种方法
PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
PreparedStatement对象。该数组包含目标表中的列的索引,该索引包含应提供的自动生成的键。司机如果SQL语句是不
INSERT声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
带或不带参数的SQL语句可以被预编译并存储在一个PreparedStatement对象。此对象可以被用来有效地执行此语句多次。
注:这方法是参数化的SQL语句,受益于预编译处理优化。如果驱动程序支持预编译的方法,prepareStatement将报表数据库的预编译。有些司机可能不支持预编译。在这种情况下,语句不能被发送到数据库之前执行PreparedStatement对象。这对用户没有直接的影响;但是,它确实影响了该方法抛出SQLException一定。
结果集创建使用返回的PreparedStatement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别。对生成的结果集的保持能力可以通过调用getHoldability()确定。
sql -一个SQL语句可能包含一个或多个“?”在参数占位符
columnIndexes -柱指标表明应该从插入的行或列的数组返回的行
PreparedStatement对象,包含预编译的语句,能够将自动生成的列索引数组的指定键
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
PreparedStatement对象。该数组包含目标表中包含应返回的自动生成的键的列的名称。司机如果SQL语句是不
INSERT声明忽略数组,或一个SQL语句能够返回自动生成的键(这样的语句列表是特定于供应商的)。
带或不带参数的SQL语句可以被预编译并存储在一个PreparedStatement对象。此对象可以被用来有效地执行此语句多次。
注:这方法是参数化的SQL语句,受益于预编译处理优化。如果驱动程序支持预编译的方法,prepareStatement将报表数据库的预编译。有些司机可能不支持预编译。在这种情况下,语句不能被发送到数据库之前执行PreparedStatement对象。这对用户没有直接的影响;但是,它确实影响了该方法抛出SQLException一定。
结果集创建使用返回的PreparedStatement对象将默认的类型TYPE_FORWARD_ONLY和有CONCUR_READ_ONLY并发级别。对生成的结果集的保持能力可以通过调用getHoldability()确定。
sql -一个SQL语句可能包含一个或多个“?”在参数占位符
columnNames -栏目名称说明应该从插入的行或列的数组返回的行
PreparedStatement对象,包含预编译的语句,能够将自动生成给定的列名称数组指定键
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
Clob createClob() throws SQLException
Clob接口的对象。返回的对象最初不包含数据。的
setAsciiStream,
setCharacterStream和
setString方法的
Clob接口可用于对
Clob添加数据。
Clob接口的对象
SQLException如果实现
Clob接口无法构造一个对象,这种方法被称为在一个封闭的连接或数据库访问错误发生。
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
Blob createBlob() throws SQLException
Blob接口的对象。返回的对象最初不包含数据。该
Blob接口
setBinaryStream和
setBytes方法可用于对
Blob添加数据。
Blob接口的对象
SQLException如果实现
Blob接口无法构造一个对象,这种方法被称为在一个封闭的连接或数据库访问错误发生。
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
NClob createNClob() throws SQLException
NClob接口的对象。返回的对象最初不包含数据。的
setAsciiStream,
setCharacterStream和
setString方法的
NClob接口可用于对
NClob添加数据。
NClob接口的对象
SQLException如果实现
NClob接口无法构造一个对象,这种方法被称为在一个封闭的连接或数据库访问错误发生。
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
SQLXML createSQLXML() throws SQLException
SQLXML接口的对象。返回的对象最初不包含数据。的
createXmlStreamWriter对象和接口的
SQLXML
setString法可以应用到
SQLXML对象添加数据。
SQLXML接口的对象
SQLException如果实现
SQLXML接口无法构造一个对象,这种方法被称为在一个封闭的连接或数据库访问错误发生。
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
boolean isValid(int timeout)
throws SQLException
由驱动程序提交的查询以验证连接,应在当前事务的上下文中执行。
timeout -在几秒钟的时间等待用于验证连接完成对数据库的操作。如果超时期限在操作完成之前结束,此方法返回假。值为0表示超时不应用于数据库操作。
SQLException如果提供
timeout值小于0
DatabaseMetaData.getClientInfoProperties()
void setClientInfo(String name, String value) throws SQLClientInfoException
应用程序可以使用DatabaseMetaData.getClientInfoProperties法确定由司机和最大长度,可以为每个属性指定支持的客户端信息的性质。
该驱动程序将指定的值存储在数据库中的适当位置中。例如,在一个特殊的寄存器、会话参数或系统表列。为提高效率,驱动程序可以将在数据库中的值设置为下一次,直到下一次语句被执行或准备。除了在数据库中的适当位置存储客户端信息,这些方法也不会改变连接的行为不管怎样。提供给这些方法的值仅用于会计、诊断和调试目的。
如果所指定的客户信息名称未被驱动程序识别,则该驱动程序将生成一个警告。
如果指定此方法的值大于该属性的司机可以截断值并产生一条警告或产生SQLClientInfoException最大长度。如果驱动程序生成一个SQLClientInfoException,指定的值没有被设置在连接。
以下是标准的客户信息属性。驱动程序不需要支持这些属性,但是如果驱动程序支持一个可以通过标准属性来描述的客户信息属性,则应该使用标准的属性名称。
name -客户信息属性的名称设置
value -设置客户端信息属性的值。如果值为空,则清除指定属性的当前值。
SQLClientInfoException -如果数据库服务器返回一个错误而在数据库服务器或设置客户端信息价值,这种方法被称为在一个封闭的连接
void setClientInfo(Properties properties) throws SQLClientInfoException
Properties对象包含姓名和客户信息的属性值进行设置。属性列表中包含的客户端信息属性的集合取代了连接上的客户端信息属性的当前集合。如果当前在连接上设置的属性不在“属性”列表中,则清除该属性的属性。指定一个空的属性列表将清除连接上的所有属性。更多信息见
setClientInfo (String, String)。
如果在设置任何客户信息的性质发生了一个错误,一个SQLClientInfoException抛出。的SQLClientInfoException包含信息指示客户端信息属性没有设置。客户端的状态信息是未知的因为一些数据库不允许多个客户端信息属性进行设置自动。对于这些数据库,在发生错误之前可能会设置一个或多个属性。
properties -客户信息属性设置
列表
SQLClientInfoException -如果数据库服务器返回一个错误而设置的客户信息表的值在数据库服务器或调用此方法在一个封闭的连接
setClientInfo(String, String)
String getClientInfo(String name) throws SQLException
应用程序可以使用DatabaseMetaData.getClientInfoProperties法确定的驱动程序支持的客户端信息的性质。
name -客户信息属性的名称来检索
SQLException -如果数据库服务器返回一个错误值时取客户信息从数据库或调用此方法在一个封闭的连接
DatabaseMetaData.getClientInfoProperties()
Properties getClientInfo() throws SQLException
Properties包含名称和每个驾驶员的支持客户信息属性的当前值。
SQLException -如果数据库服务器返回一个错误时,获取客户信息的值从数据库或调用此方法在一个封闭的连接
Array createArrayOf(String typeName, Object[] elements) throws SQLException
注:when createArrayOf是用来创建一个数组对象映射到原始的数据类型,然后执行定义是否Array对象是原始数据类型或Object数组的数组。
注:the JDBC驱动程序负责元素Object阵列映射到默认的JDBC SQL类型java.sql.types对于给定的类的Object定义。默认的映射是在JDBC规范附录B的规定。如果得到的JDBC类型不适当的类型为给定的类型则是实现定义是否SQLException投掷或驱动程序支持的转换。
typeName型元素的数组映射到SQL的名字。typename是一个特定的数据库名称可以是内置类型名、用户定义类型或一个标准的SQL类型支持的数据库。这是返回的值
Array.getBaseTypeName
elements -元素填充返回的对象
SQLException -如果数据库发生错误,JDBC类型不适合typename和不支持转换,typename是null或调用此方法在一个封闭的连接
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
Struct createStruct(String typeName, Object[] attributes) throws SQLException
typeName—SQL结构化类型,这
Struct对象映射到SQL类型名称。typename是用户定义的类型,已经为数据库定义的名称。它返回的值
Struct.getSQLTypeName。
attributes -属性,将返回的对象
SQLException -如果数据库发生错误,typename是null或调用此方法在一个封闭的连接
SQLFeatureNotSupportedException如果JDBC驱动程序不支持这种数据类型
void setSchema(String schema) throws SQLException
如果驱动程序不支持模式,它会悄悄地忽略这个请求。
打电话setSchema对先前创建的或准备Statement对象无影响。它是实现DBMS定义是否准备操作发生时立即Connection prepareStatement或prepareCall调用方法。为了获得最大的可移植性,setSchema前应Statement创建或准备叫。
schema -在这一架构的名称工作
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
getSchema()
String getSchema() throws SQLException
Connection检索对象的当前架构名称。
null如果没有
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的连接
setSchema(java.lang.String)
void abort(Executor executor) throws SQLException
abort结果:
SQLException。打电话abort标志着连接关闭并释放任何资源。在一个封闭的连接呼叫abort是一个空操作。
这可能是流产,通过连接控制的资源释放可以延长一段时间。当abort方法返回时,连接将被标记为关闭,Executor被作为参数传递到中止仍然可以执行任务释放资源。
这种方法检查发现有一个SQLPermission对象之前允许的方法进行。如果一个SecurityManager存在,checkPermission方法调用abort否认,该方法抛出一个java.lang.SecurityException。
executor -
Executor实现将用于
abort。
SQLException -如果一个数据库访问错误发生或
executor是
null,
SecurityException -如果存在一个安全管理及其
checkPermission方法调用
abort否认
SecurityManager.checkPermission(java.security.Permission),
Executor
void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
Connection或物体从
Connection创建将等待数据库回答任何一个请求。如果任何要求还不得而知,等待的方法将返回一个
SQLException,和
Connection或物体从
Connection创建将被标记为关闭。任何后续使用的对象,在
close例外,
isClosed或
Connection.isValid方法,将导致
SQLException。
注:这种方法是为了解决一个罕见但严重的情况下,网络分区会导致线程发出不间断的JDBC调用挂在socket读取,直到操作系统tcp-timeout(通常为10分钟)。这种方法的abort() 方法提供了一种管理线程的手段自由任何线程的情况下,JDBC连接是管理员线程访问相关。的setNetworkTimeout方法将盖的情况下,在没有管理员的螺纹,或没有连接。这种方法在它的影响是严重的,应给予足够高的值,所以它不会在任何更多的正常超时触发,如交易超时。
JDBC驱动程序的实现,还可以选择支持对数据库的响应时间限制的setNetworkTimeout方法,在环境里没有网络是目前。
驱动程序可以在内部实现一些或所有的他们的与多个内部驱动程序数据库传输的调用,它留给驱动程序的实现,以确定是否限制将被应用到响应的原料药调用,或在调用过程中的任何一个单一的请求。
这种方法可以被调用一次以上,如设置JDBC代码区域的限制,和复位退出从默认的这个区域。此方法的调用对已未完成的请求没有任何影响。
的Statement.setQueryTimeout()超时值是独立的setNetworkTimeout指定超时值。如果查询超时在网络超时之前终止,那么语句的执行将被取消。如果网络仍然是活动的,结果将是语句和连接仍然可用。但是如果在查询超时或如果由于网络问题声明超时失败的网络超时,连接将被标记为关闭,由连接举行任何资源将被释放,两者的连接和语句将无法使用。
当司机发现setNetworkTimeout超时时间已过期,JDBC驱动程序是连接关闭和释放由连接举行任何资源。
这种方法检查发现有一个SQLPermission对象之前允许的方法进行。如果一个SecurityManager存在,checkPermission方法调用setNetworkTimeout否认,该方法抛出一个java.lang.SecurityException。
executor -
Executor实现将用于
setNetworkTimeout。
milliseconds在毫秒的时间等待完成对数据库的操作。如果JDBC驱动程序不支持毫秒,JDBC驱动程序将在价值上附近的二。如果在操作完成前暂停期满,一个SQLException会抛出。值为0表示数据库操作没有超时。
SQLException -如果一个数据库访问错误发生时,这种方法被称为在一个封闭的连接,
executor是
null,或指定
seconds值小于0。
SecurityException -如果存在一个安全管理及其
checkPermission方法调用
setNetworkTimeout否认。
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
SecurityManager.checkPermission(java.security.Permission),
Statement.setQueryTimeout(int),
getNetworkTimeout(),
abort(java.util.concurrent.Executor),
Executor
int getNetworkTimeout()
throws SQLException
SQLException抛出。
SQLException -如果一个数据库访问错误发生或调用此方法在一个封闭的
Connection
SQLFeatureNotSupportedException如果JDBC驱动程序不支持此方法
setNetworkTimeout(java.util.concurrent.Executor, int)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.