http://www.apihome.cn/api/java/Connection.html
public interface
Connectionextends Wrapper
?
與特定數據庫的連接(會話)。在連接上下文中執行 SQL 語句并返回結果。
Connection?對象的數據庫能夠提供描述其表、所支持的 SQL 語法、存儲過程、此連接功能等等的信息。此信息是使用?getMetaData?方法獲得的。
注:在配置?Connection?時,JDBC 應用程序應該使用適當的?Connection?方法,比如?setAutoCommit?或?setTransactionIsolation。在有可用的 JDBC 方法時,應用程序不能直接調用 SQL 命令更改連接的配置。默認情況下,Connection?對象處于自動提交模式下,這意味著它在執行每個語句后都會自動提交更改。如果禁用了自動提交模式,那么要提交更改就必須顯式調用?commit?方法;否則無法保存數據庫更改。
使用 JDBC 2.1 核心 API 創建的新?Connection?對象有一個與之關聯的最初為空的類型映射。用戶可以為此類型映射中的 UDT 輸入一個自定義映射關系。在使用?ResultSet.getObject?方法從數據源中獲取 UDT 時,getObject?方法將檢查該連接的類型映射是否有對應該 UDT 的條目。如果有,那么?getObject?方法將該 UDT 映射到所指示的類。如果沒有條目,則使用標準映射關系映射該 UDT。
用戶可以創建一個新的類型映射,該映射是一個?java.util.Map?對象,可在其中創建一個條目,并將該條目傳遞給可以執行自定義映射關系的?java.sql?方法。在這種情況下,該方法將使用給定的類型映射,而不是與連接關聯的映射。
例如,以下代碼片段指定 SQL 類型?ATHLETES?將被映射到 Java 編程語言中的?Athletes?類。該代碼片段為?Connection?對象?con?獲取類型映射,并在其中插入條目,然后使用新的條目將該類型映射設置為連接的類型映射。
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, DatabaseMetaData
?
字段摘要
| static?int | TRANSACTION_NONE? ??????????指示事務不受支持的常量。 |
| static?int | TRANSACTION_READ_COMMITTED? ??????????指示不可以發生臟讀的常量;不可重復讀和虛讀可以發生。 |
| static?int | TRANSACTION_READ_UNCOMMITTED? ??????????指示可以發生臟讀 (dirty read)、不可重復讀和虛讀 (phantom read) 的常量。 |
| static?int | TRANSACTION_REPEATABLE_READ? ??????????指示不可以發生臟讀和不可重復讀的常量;虛讀可以發生。 |
| static?int | TRANSACTION_SERIALIZABLE? ??????????指示不可以發生臟讀、不可重復讀和虛讀的常量。 |
?
方法摘要
| ?void | clearWarnings()? ??????????清除為此?Connection?對象報告的所有警告。 |
| ?void | close()? ??????????立即釋放此?Connection?對象的數據庫和 JDBC 資源,而不是等待它們被自動釋放。 |
| ?void | commit()? ??????????使所有上一次提交/回滾后進行的更改成為持久更改,并釋放此?Connection?對象當前持有的所有數據庫鎖。 |
| ?Array | createArrayOf(String?typeName, Object[]?elements)? ??????????創建 Array 對象的工廠方法。 |
| ?Blob | createBlob()? ??????????構造實現?Blob?接口的對象。 |
| ?Clob | createClob()? ??????????構造實現?Clob?接口的對象。 |
| ?NClob | createNClob()? ??????????構造實現?NClob?接口的對象。 |
| ?SQLXML | createSQLXML()? ??????????構造實現?SQLXML?接口的對象。 |
| ?Statement | createStatement()? ??????????創建一個?Statement?對象來將 SQL 語句發送到數據庫。 |
| ?Statement | createStatement(int?resultSetType, int?resultSetConcurrency)? ??????????創建一個?Statement?對象,該對象將生成具有給定類型和并發性的?ResultSet?對象。 |
| ?Statement | createStatement(int?resultSetType, int?resultSetConcurrency, int?resultSetHoldability)? ??????????創建一個?Statement?對象,該對象將生成具有給定類型、并發性和可保存性的?ResultSet?對象。 |
| ?Struct | createStruct(String?typeName, Object[]?attributes)? ??????????創建 Struct 對象的工廠方法。 |
| ?boolean | getAutoCommit()? ??????????獲取此?Connection?對象的當前自動提交模式。 |
| ?String | getCatalog()? ??????????獲取此?Connection?對象的當前目錄名稱。 |
| ?Properties | getClientInfo()? ??????????返回一個列表,它包含驅動程序支持的每個客戶端信息屬性的名稱和當前值。 |
| ?String | getClientInfo(String?name)? ??????????返回通過名稱指定的客戶端信息屬性的值。 |
| ?int | getHoldability()? ??????????獲取使用此?Connection?對象創建的?ResultSet?對象的當前可保存性。 |
| ?DatabaseMetaData | getMetaData()? ??????????獲取一個?DatabaseMetaData?對象,該對象包含關于此?Connection?對象所連接的數據庫的元數據。 |
| ?int | getTransactionIsolation()? ??????????獲取此?Connection?對象的當前事務隔離級別。 |
| ?Map<String,Class<?>> | getTypeMap()? ??????????獲取與此?Connection?對象關聯的?Map?對象。 |
| ?SQLWarning | getWarnings()? ??????????獲取此?Connection?對象上的調用報告的第一個警告。 |
| ?boolean | isClosed()? ??????????查詢此?Connection?對象是否已經被關閉。 |
| ?boolean | isReadOnly()? ??????????查詢此?Connection?對象是否處于只讀模式。 |
| ?boolean | isValid(int?timeout)? ??????????如果連接尚未關閉并且仍然有效,則返回 true。 |
| ?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)? ??????????創建一個?PreparedStatement?對象來將參數化的 SQL 語句發送到數據庫。 |
| ?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)? ??????????將 name 指定的客戶端信息屬性的值設置為 value 指定的值。 |
| ?void | setHoldability(int?holdability)? ??????????將使用此?Connection?對象創建的?ResultSet?對象的默認可保存性 (holdability) 更改為給定可保存性。 |
| ?void | setReadOnly(boolean?readOnly)? ??????????將此連接設置為只讀模式,作為驅動程序啟用數據庫優化的提示。 |
| ?Savepoint | setSavepoint()? ??????????在當前事務中創建一個未命名的保存點 (savepoint),并返回表示它的新?Savepoint?對象。 |
| ?Savepoint | setSavepoint(String?name)? ??????????在當前事務中創建一個具有給定名稱的保存點,并返回表示它的新?Savepoint?對象。 |
| ?void | setTransactionIsolation(int?level)? ??????????試圖將此?Connection?對象的事務隔離級別更改為給定的級別。 |
| ?void | setTypeMap(Map<String,Class<?>>?map)? ??????????將給定的?TypeMap?對象安裝為此?Connection?對象的類型映射。 |
?
從接口 java.sql.Wrapper 繼承的方法
| isWrapperFor, unwrap |
?
?
TRANSACTION_NONE
static final int
TRANSACTION_NONE 指示事務不受支持的常量。 ?
另請參見:常量字段值
TRANSACTION_READ_UNCOMMITTED
static final int
TRANSACTION_READ_UNCOMMITTED 指示可以發生臟讀 (dirty read)、不可重復讀和虛讀 (phantom read) 的常量。此級別允許被某一事務更改的行在已提交該行所有更改之前被另一個事務讀取(“臟讀”)。如果所有更改都被回滾,則第二個事務將獲取無效的行。 ?
另請參見:常量字段值
TRANSACTION_READ_COMMITTED
static final int
TRANSACTION_READ_COMMITTED 指示不可以發生臟讀的常量;不可重復讀和虛讀可以發生。此級別只禁止事務讀取其中帶有未提交更改的行。 ?
另請參見:常量字段值
TRANSACTION_REPEATABLE_READ
static final int
TRANSACTION_REPEATABLE_READ 指示不可以發生臟讀和不可重復讀的常量;虛讀可以發生。此級別禁止事務讀取帶有未提交更改的行,它還禁止這種情況:一個事務讀取某一行,而另一個事務更改該行,第一個事務重新讀取該行,并在第二次讀取時獲得不同的值(“不可重復讀”)。 ?
另請參見:常量字段值
TRANSACTION_SERIALIZABLE
static final int
TRANSACTION_SERIALIZABLE 指示不可以發生臟讀、不可重復讀和虛讀的常量。此級別包括?TRANSACTION_REPEATABLE_READ?中禁止的事項,同時還禁止出現這種情況:某一事務讀取所有滿足?WHERE?條件的行,另一個事務插入一個滿足?WHERE?條件的行,第一個事務重新讀取滿足相同條件的行,并在第二次讀取時獲得額外的“虛”行。 ?
另請參見:常量字段值createStatement
Statement
createStatement()throws SQLException
創建一個?Statement?對象來將 SQL 語句發送到數據庫。不帶參數的 SQL 語句通常使用?Statement?對象執行。如果多次執行相同的 SQL 語句,使用?PreparedStatement?對象可能更有效。 使用返回的?Statement?對象創建的結果集在默認情況下類型為?TYPE_FORWARD_ONLY,并帶有?CONCUR_READ_ONLY?并發級別。已創建結果集的可保存性可調用 getHoldability() 確定。
?
返回:一個新的默認?Statement?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
prepareStatement
PreparedStatement
prepareStatement(String?sql)throws SQLException
創建一個?PreparedStatement?對象來將參數化的 SQL 語句發送到數據庫。 帶有 IN 參數或不帶有 IN 參數的 SQL 語句都可以被預編譯并存儲在?PreparedStatement?對象中。然后可以有效地使用此對象來多次執行該語句。
注:為了處理受益于預編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預編譯,則?prepareStatement?方法將該語句發送給數據庫進行預編譯。一些驅動程序可能不支持預編譯。在這種情況下,執行?PreparedStatement?對象之前無法將語句發送給數據庫。這對用戶沒有直接影響;但它的確會影響哪些方法將拋出某些?SQLException對象。
使用返回的?PreparedStatement?對象創建的結果集在默認情況下類型為?TYPE_FORWARD_ONLY,并帶有?CONCUR_READ_ONLY?并發級別。已創建結果集的可保存性可調用 getHoldability() 確定。
?
參數:sql?- 可能包含一個或多個 '?' IN 參數占位符的 SQL 語句返回:包含預編譯 SQL 語句的新的默認?PreparedStatement?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
prepareCall
CallableStatement
prepareCall(String?sql)throws SQLException
創建一個?CallableStatement?對象來調用數據庫存儲過程。CallableStatement?對象提供了設置其 IN 和 OUT 參數的方法,以及用來執行調用存儲過程的方法。 注:為了處理存儲過程調用語句,此方法進行了優化。某些驅動程序可以在調用?prepareCall?方法后將調用語句發送給數據庫;另一些則直到執行了?CallableStatement?對象后才可以發送。這對用戶沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。
使用返回的?CallableStatement?對象創建的結果集在默認情況下類型為?TYPE_FORWARD_ONLY,并帶有?CONCUR_READ_ONLY?并發級別。已創建結果集的可保存性可調用 getHoldability() 確定。
?
參數:sql?- 可以包含一個或多個 '?' 參數占位符的 SQL 語句。通常此語句是使用 JDBC 調用轉義語法指定的。返回:包含預編譯 SQL 語句的新的默認?CallableStatement?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
nativeSQL
String
nativeSQL(String?sql)throws SQLException
將給定的 SQL 語句轉換成系統本機 SQL 語法。在發送 JDBC SQL 語法之前,驅動程序可以將其轉換成其系統本機 SQL 語法。此方法返回驅動程序將發送的語句的本機形式。 ?
參數:sql?- 可以包含一個或多個 '?' 參數占位符的 SQL 語句返回:此語句的本機形式拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
setAutoCommit
void
setAutoCommit(boolean?autoCommit)throws SQLException
將此連接的自動提交模式設置為給定狀態。如果連接處于自動提交模式下,則它的所有 SQL 語句將被執行并作為單個事務提交。否則,它的 SQL 語句將聚集到事務中,直到調用?commit?方法或?rollback?方法為止。默認情況下,新連接處于自動提交模式。 提交發生在語句完成時。語句完成的時間取決于 SQL 語句的類型:
- 對于 DML 語句(比如 Insert、Update 或 Delete)和 DDL 語句,語句在執行完畢時完成。
- 對于 Select 語句,語句在關聯結果集關閉時完成。
- 對于?CallableStatement?對象或者返回多個結果的語句,語句在所有關聯結果集關閉并且已獲得所有更新計數和輸出參數時完成。
注:如果在事務和自動提交模式更改期間調用此方法,則提交該事務。如果調用?setAutoCommit?而自動提交模式未更改,則該調用無操作(no-op)。
?
參數:autoCommit?- 為?true?表示啟用自動提交模式;為?false?表示禁用自動提交模式拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用 setAutoCommit(true),或者在關閉的連接上調用此方法另請參見:getAutoCommit()
getAutoCommit
boolean
getAutoCommit()throws SQLException
獲取此?Connection?對象的當前自動提交模式。 ?
返回:此?Connection?對象的自動提交模式的當前狀態拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法另請參見:getAutoCommit(), setAutoCommit(boolean)
commit
void
commit()throws SQLException
使所有上一次提交/回滾后進行的更改成為持久更改,并釋放此?Connection?對象當前持有的所有數據庫鎖。此方法只應該在已禁用自動提交模式時使用。 ?
拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用此方法,在關閉的連接上調用此方法,或者此?Connection?對象處于自動提交模式另請參見:setAutoCommit(boolean)
rollback
void
rollback()throws SQLException
取消在當前事務中進行的所有更改,并釋放此?Connection?對象當前持有的所有數據庫鎖。此方法只應該在已禁用自動提交模式時使用。 ?
拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用此方法,在關閉的連接上調用此方法,或者此?Connection?對象處于自動提交模式另請參見:setAutoCommit(boolean)
close
void
close()throws SQLException
立即釋放此?Connection?對象的數據庫和 JDBC 資源,而不是等待它們被自動釋放。 在已經關閉的?Connection?對象上調用?close?方法無操作 (no-op)。
建議最好在調用?close?方法之前,應用程序顯式提交或回滾一個活動事務。如果調用?close?方法并且有一個活動事務,那么結果將由實現定義。
?
拋出:SQLException?- 如果發生數據庫訪問錯誤
isClosed
boolean
isClosed()throws SQLException
查詢此?Connection?對象是否已經被關閉。如果在連接上調用了?close?方法或者發生某些嚴重的錯誤,則連接被關閉。只有在調用了?Connection.close?方法之后被調用時,此方法才保證返回?true。 通常不能調用此方法確定到數據庫的連接是有效的還是無效的。通過捕獲在試圖進行某一操作時可能拋出的異常,典型的客戶端可以確定某一連接是無效的。
?
返回:如果此?Connection?對象是關閉的,則返回?true;如果它仍然處于打開狀態,則返回?false拋出:SQLException?- 如果發生數據庫訪問錯誤
getMetaData
DatabaseMetaData
getMetaData()throws SQLException
獲取一個?DatabaseMetaData?對象,該對象包含關于此?Connection?對象所連接的數據庫的元數據。元數據包括關于數據庫的表、受支持的 SQL 語法、存儲過程、此連接功能等等的信息。 ?
返回:此?Connection?對象的一個?DatabaseMetaData?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
setReadOnly
void
setReadOnly(boolean?readOnly)throws SQLException
將此連接設置為只讀模式,作為驅動程序啟用數據庫優化的提示。 注:此方法不能在事務處理期間調用。
?
參數:readOnly?- 為?true?表示啟用只讀模式;為?false?表示禁用只讀模式拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者在事務處理期間調用此方法
isReadOnly
boolean
isReadOnly()throws SQLException
查詢此?Connection?對象是否處于只讀模式。 ?
返回:如果此?Connection?對象是只讀的,則返回?true;否則返回?false拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
setCatalog
void
setCatalog(String?catalog)throws SQLException
設置給定目錄名稱,以便選擇要在其中進行工作的此?Connection?對象數據庫的子空間。 如果驅動程序不支持這些目錄,那么它將直接忽略此請求。
?
參數:catalog?- 在其中進行工作的目錄(此?Connection?對象的數據庫的子空間)的名稱拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法另請參見:getCatalog()
getCatalog
String
getCatalog()throws SQLException
獲取此?Connection?對象的當前目錄名稱。 ?
返回:當前目錄名稱;如果不存在,則返回?null拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法另請參見:setCatalog(java.lang.String)
setTransactionIsolation
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()
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)
getWarnings
SQLWarning
getWarnings()throws SQLException
獲取此?Connection?對象上的調用報告的第一個警告。如果有多個警告,則后續警告將被鏈接到第一個警告,可以通過對之前獲得的警告調用?SQLWarning.getNextWarning?方法獲取。 不可以在關閉的連接上調用此方法,這樣做將導致拋出?SQLException。
注:后續警告將被鏈接到此 SQLWarning。
?
返回:第一個?SQLWarning?對象;如果不存在,則返回?null拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法另請參見:SQLWarning
clearWarnings
void
clearWarnings()throws SQLException
清除為此?Connection?對象報告的所有警告。調用此方法后,在為此?Connection?對象報告新的警告前,getWarnings?方法將返回?null。 ?
拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法
createStatement
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 驅動程序不支持此方法,或者對于指定的結果集類型和結果集并發性,此方法不受支持。從以下版本開始:1.2
prepareStatement
PreparedStatement
prepareStatement(String?sql,int?resultSetType,int?resultSetConcurrency)throws SQLException
創建一個?PreparedStatement?對象,該對象將生成具有給定類型和并發性的?ResultSet?對象。此方法與上述?prepareStatement?方法相同,但它允許重寫默認結果集類型和并發性。已創建結果集的可保存性可調用 getHoldability() 確定。 ?
參數:sql?- 一個?String?對象,它是將被發送到數據庫的 SQL 語句,可以包含一個或多個 '?' IN 參數resultSetType?- 結果集類型,它是?ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE?或?ResultSet.TYPE_SCROLL_SENSITIVE?之一resultSetConcurrency?- 并發類型,它是?ResultSet.CONCUR_READ_ONLY?或?ResultSet.CONCUR_UPDATABLE?之一返回:包含預編譯的 SQL 語句的新 PreparedStatement 對象,該對象將生成具有給定類型和并發性的?ResultSet?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示類型和并發性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法,或者對于指定的結果集類型和結果集并發性此方法不受支持。從以下版本開始:1.2
prepareCall
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?之一返回:一個包含預編譯的 SQL 語句的新?CallableStatement?對象,該對象將生成具有給定類型和并發性的?ResultSet?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示類型和并發性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法,或者或者對于指定的結果集類型和結果集并發性此方法不受支持。從以下版本開始:1.2
getTypeMap
Map<String,Class<?>>
getTypeMap()throws SQLException
獲取與此?Connection?對象關聯的?Map?對象。除非應用程序已經添加了一個條目,否則返回的類型映射將為空。 ?
返回:與此?Connection?對象關聯的?java.util.Map?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.2另請參見:setTypeMap(java.util.Map>)
setTypeMap
void
setTypeMap(Map<String,Class<?>>?map)throws SQLException
將給定的?TypeMap?對象安裝為此?Connection?對象的類型映射。該映射將用于 SQL 結構類型和獨特類型的自定義映射。 ?
參數:map?- 將作為此?Connection?對象默認類型映射的替代安裝的?java.util.Map?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是?java.util.Map?對象SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.2另請參見:getTypeMap()
setHoldability
void
setHoldability(int?holdability)throws SQLException
將使用此?Connection?對象創建的?ResultSet?對象的默認可保存性 (holdability) 更改為給定可保存性。ResultSet?對象的默認可保存性可調用 DatabaseMetaData.getResultSetHoldability() 確定。 ?
參數:holdability?-?ResultSet?的可保存性常量,它是?ResultSet.HOLD_CURSORS_OVER_COMMIT?或?ResultSet.CLOSE_CURSORS_AT_COMMIT?之一拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示可保存性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果給定可保存性不受支持從以下版本開始:1.4另請參見:getHoldability(), DatabaseMetaData.getResultSetHoldability(), ResultSet
getHoldability
int
getHoldability()throws SQLException
獲取使用此?Connection?對象創建的?ResultSet?對象的當前可保存性。 ?
返回:可保存性,它是?ResultSet.HOLD_CURSORS_OVER_COMMIT?或?ResultSet.CLOSE_CURSORS_AT_COMMIT?之一拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法從以下版本開始:1.4另請參見:setHoldability(int), DatabaseMetaData.getResultSetHoldability(), ResultSet
setSavepoint
Savepoint
setSavepoint()throws SQLException
在當前事務中創建一個未命名的保存點 (savepoint),并返回表示它的新?Savepoint?對象。 如果在活動事務范圍之外調用 setSavepoint,則將在新創建的保存點上啟動事務。
?
返回:新的?Savepoint?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用此方法,在關閉的連接上調用此方法,或者此?Connection?對象當前處于自動提交模式SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4另請參見:Savepoint
setSavepoint
Savepoint
setSavepoint(String?name)throws SQLException
在當前事務中創建一個具有給定名稱的保存點,并返回表示它的新?Savepoint?對象。 如果在活動事務范圍之外調用 setSavepoint,則將在新創建的保存點上啟動事務。
?
參數:name?- 包含保存點名稱的?String返回:新的?Savepoint?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用此方法,在關閉的連接上調用此方法,或者此?Connection?對象當前處于自動提交模式下SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4另請參見:Savepoint
rollback
void
rollback(Savepoint?savepoint)throws SQLException
取消所有設置給定?Savepoint?對象之后進行的更改。 此方法只應該在已禁用自動提交時使用。
?
參數:savepoint?- 要回滾到的?Savepoint?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在參與分布式事務的同時調用此方法,在關閉的連接上調用此方法,Savepoint?對象不再有效,或者此?Connection?對象當前處于自動提交模式SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4另請參見:Savepoint, rollback()
releaseSavepoint
void
releaseSavepoint(Savepoint?savepoint)throws SQLException
從當前事務中移除指定的?Savepoint?和后續?Savepoint?對象。在已移除保存點之后,對該保存點的任何引用都會導致拋出?SQLException。 ?
參數:savepoint?- 將移除的?Savepoint?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定?Savepoint?對象在當前事務中不是一個有效的保存點SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4
createStatement
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_SENSITIVEresultSetConcurrency?- 以下?ResultSet?常量之一:ResultSet.CONCUR_READ_ONLY?或?ResultSet.CONCUR_UPDATABLEresultSetHoldability?- 以下?ResultSet?常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT?或?ResultSet.CLOSE_CURSORS_AT_COMMIT返回:一個新的?Statement?對象,該對象將生成具有給定類型、并發性和可保存性的?ResultSet?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指定類型、并發性和可保存性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法,或者對于指定結果集類型、結果集可保存性和結果集并發性,此方法不受支持。從以下版本開始:1.4另請參見:ResultSet
prepareStatement
PreparedStatement
prepareStatement(String?sql,int?resultSetType,int?resultSetConcurrency,int?resultSetHoldability)throws SQLException
創建一個?PreparedStatement?對象,該對象將生成具有給定類型、并發性和可保存性的?ResultSet?對象。 此方法與上述?prepareStatement?方法相同,但它允許重寫默認結果集類型、并發性和可保存性。
?
參數:sql?- 一個?String?對象,它是將被發送到數據庫的 SQL 語句,可以包含一個或多個 '?' IN 參數resultSetType?- 以下?ResultSet?常量之一:ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE?或?ResultSet.TYPE_SCROLL_SENSITIVEresultSetConcurrency?- 以下?ResultSet?常量之一:ResultSet.CONCUR_READ_ONLY?或?ResultSet.CONCUR_UPDATABLEresultSetHoldability?- 以下?ResultSet?常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT?或?ResultSet.CLOSE_CURSORS_AT_COMMIT返回:一個包含預編譯 SQL 語句的新?PreparedStatement?對象,該對象將生成具有給定類型、并發性和可保存性的?ResultSet?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示類型、并發性和可保存性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法,或者對于指定結果集類型、結果集可保存性和結果集并發性,此方法不受支持。從以下版本開始:1.4另請參見:ResultSet
prepareCall
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_SENSITIVEresultSetConcurrency?- 以下?ResultSet?常量之一:ResultSet.CONCUR_READ_ONLY?或?ResultSet.CONCUR_UPDATABLEresultSetHoldability?- 以下?ResultSet?常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT?或?ResultSet.CLOSE_CURSORS_AT_COMMIT返回:一個包含預編譯 SQL 語句的新?CallableStatement?對象,該對象將生成具有給定類型、并發性和可保存性的?ResultSet?對象拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示類型、并發性和可保存性的?ResultSet?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法,或者對于指定結果集類型、結果集可保存性和結果集并發性,此方法不受支持。從以下版本開始:1.4另請參見:ResultSet
prepareStatement
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?- 可能包含一個或多個 '?' IN 參數占位符的 SQL 語句autoGeneratedKeys?- 指示是否應該返回自動生成的鍵的標志,它是?Statement.RETURN_GENERATED_KEYS?或?Statement.NO_GENERATED_KEYS?之一返回:一個包含預編譯 SQL 語句的新?PreparedStatement?對象,該對象能夠返回自動生成的鍵拋出:SQLException?- 如果發生數據庫訪問錯誤,在關閉的連接上調用此方法,或者給定參數不是指示是否應該返回自動生成鍵的?Statement?常量SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持帶有 Statement.RETURN_GENERATED_KEYS 常量的此方法從以下版本開始:1.4
prepareStatement
PreparedStatement
prepareStatement(String?sql,int[]?columnIndexes)throws SQLException
創建一個能返回由給定數組指定的自動生成鍵的默認?PreparedStatement?對象。此數組包含目標表中列的索引,而目標表包含應該可返回的自動生成的鍵。如果 SQL 語句不是?INSERT?語句,或者 SQL 語言能夠返回自動生成的鍵(這類語句的列表是特定于供應商的),則驅動程序將忽略該數組。 帶 IN 參數或不帶 IN 參數的 SQL 語句都可以被預編輯并存儲在?PreparedStatement?對象中。然后可以使用此對象多次有效地執行該語句。
注:為了處理受益于預編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預編譯,則?prepareStatement?方法將該語句發送給數據庫進行預編譯。一些驅動程序可能不支持預編譯。在這種情況下,執行?PreparedStatement?對象之前無法將語句發送給數據庫。這對用戶沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。
使用返回的?PreparedStatement?對象創建的結果集在默認情況下類型為?TYPE_FORWARD_ONLY,并帶有?CONCUR_READ_ONLY?并發級別。已創建結果集的可保存性可調用 getHoldability() 確定。
?
參數:sql?- 可能包含一個或多個 '?' IN 參數占位符的 SQL 語句columnIndexes?- 列索引數組,這些索引指示應該從一個或多個插入行中返回的那些列返回:一個包含預編譯語句的新?PreparedStatement?對象,該對象能夠返回由給定列索引數組指定的自動生成鍵拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4
prepareStatement
PreparedStatement
prepareStatement(String?sql,String[]?columnNames)throws SQLException
創建一個能返回由給定數組指定的自動生成鍵的默認?PreparedStatement?對象。此數組包含目標表中列的名稱,而目標表包含應該返回的自動生成鍵。如果 SQL 語句不是?INSERT?語句,或者 SQL 語言能夠返回自動生成的鍵(這類語句的列表是特定于供應商的),則驅動程序將忽略該數組。 帶 IN 參數或不帶 IN 參數的 SQL 語句都可以被預編輯并存儲在?PreparedStatement?對象中。然后可以使用此對象多次有效地執行該語句。
注:為了處理受益于預編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預編譯,則?prepareStatement?方法將該語句發送給數據庫進行預編譯。一些驅動程序可能不支持預編譯。在這種情況下,執行?PreparedStatement?對象之前無法將語句發送給數據庫。這對用戶沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。
使用返回的?PreparedStatement?對象創建的結果集在默認情況下類型為?TYPE_FORWARD_ONLY,并帶有?CONCUR_READ_ONLY?并發級別。已創建結果集的可保存性可調用 getHoldability() 確定。
?
參數:sql?- 可能包含一個或多個 '?' IN 參數占位符的 SQL 語句columnNames?- 列名稱數組,這些名稱指示應該從一個或多個插入行中返回的那些列返回:一個包含預編譯語句的新?PreparedStatement?對象,該對象能夠返回由給定列名稱數組指定的自動生成鍵拋出:SQLException?- 如果發生數據庫訪問錯誤,或者在關閉的連接上調用此方法SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此方法從以下版本開始:1.4
createClob
Clob
createClob()throws SQLException
構造實現?Clob?接口的對象。返回的對象最初不包含任何數據。Clob?接口的?setAsciiStream、setCharacterStream?和?setString?方法可用來向?Clob?添加數據。 ?
返回:實現?Clob?接口的對象拋出:SQLException?- 如果無法構造實現?Clob?接口的對象,在關閉的連接上調用此方法,或者發生數據庫訪問錯誤。SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6
createBlob
Blob
createBlob()throws SQLException
構造實現?Blob?接口的對象。返回的對象最初不包含任何數據。Blob?接口的?setBinaryStream?和?setBytes?方法可用來向?Blob?添加數據。 ?
返回:實現?Blob?接口的對象拋出:SQLException?- 如果無法構造實現?Blob?接口的對象,在關閉的連接上調用此方法,或者發生數據庫訪問錯誤。SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6
createNClob
NClob
createNClob()throws SQLException
構造實現?NClob?接口的對象。返回的對象最初不包含任何數據。NClob?接口的?setAsciiStream、setCharacterStream?和?setString?方法可用來向?NClob?添加數據。 ?
返回:實現?NClob?接口的對象拋出:SQLException?- 如果無法構造實現?NClob?接口的對象,在關閉的連接上調用此方法,或者發生數據庫訪問錯誤。SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6
createSQLXML
SQLXML
createSQLXML()throws SQLException
構造實現?SQLXML?接口的對象。返回的對象最初不包含任何數據。SQLXML?接口的?createXmlStreamWriter?和?setString?方法可用來向?SQLXML?對象添加數據。 ?
返回:實現?SQLXML?接口的對象拋出:SQLException?- 如果無法構造實現?SQLXML?接口的對象,在關閉的連接上調用此方法,或者發生數據庫訪問錯誤。SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6
isValid
boolean
isValid(int?timeout)throws SQLException
如果連接尚未關閉并且仍然有效,則返回 true。驅動程序將提交一個關于該連接的查詢,或者使用其他某種能確切驗證在調用此方法時連接是否仍然有效的機制。 由驅動程序提交的用來驗證該連接的查詢將在當前事務的上下文中執行。
?
參數:timeout?- 等待用來驗證連接是否完成的數據庫操作的時間,以秒為單位。如果在操作完成之前超時期滿,則此方法返回 false。0 值表示不對數據庫操作應用超時值。 ?
返回:如果連接有效,則返回 true,否則返回 false拋出:SQLException?- 如果為?timeout?提供的值小于 0從以下版本開始:1.6 ?
另請參見:DatabaseMetaData.getClientInfoProperties()
setClientInfo
void
setClientInfo(String?name,String?value)throws SQLClientInfoException
將 name 指定的客戶端信息屬性的值設置為 value 指定的值。 應用程序可以使用?DatabaseMetaData.getClientInfoProperties?方法確定驅動程序支持的客戶端信息屬性,以及為每個屬性指定的最大長度。
驅動程序存儲數據庫中合適位置上指定的值。例如,在特殊注冊表 (special register)、會話參數 (session parameter) 或者系統表 (system table) 列中。為了提高效率,驅動程序可以將設置數據庫中的值推遲到下一次執行語句或者準備執行語句時。除了在數據庫中的適當位置存儲客戶端信息之外,這些方法不能以任何方式改變連接的行為。為這些方法提供的值只能用于計數、診斷和調試目的。
如果指定的客戶端屬性名稱不被驅動程序所識別,那么該驅動程序將生成一個警告。
如果為此方法指定的值大于該屬性的最大長度,則驅動程序可能截取該值并生成一個警告,或者生成一個?SQLClientInfoException。如果驅動程序生成一個?SQLClientInfoException,則指定的值不是在連接上設置的。
以下是標準的客戶端信息屬性。不過,如果驅動程序支持可由某個標準屬性描述的客戶端信息屬性,則驅動程序無需支持這些屬性,應該使用標準屬性名稱。
?
- ApplicationName - 當前正在使用連接的應用程序的名稱
- ClientUser - 用戶名,正在使用連接的應用程序將為該用戶執行工作。這與建立連接所使用的用戶名可能不同。
- ClientHostname - 計算機的主機名,正使用連接的應用程序將在該計算機上運行。
?
?
參數:name?- 要設置的客戶端信息屬性名稱value?- 要設置為客戶端信息屬性的值。如果該值為 null,則清除指定屬性的當前值。 ?
拋出:SQLClientInfoException?- 如果在數據庫服務器上設置客戶端信息值時數據庫服務器返回一個錯誤,或者在關閉的連接上調用此方法 ?
從以下版本開始:1.6
setClientInfo
void
setClientInfo(Properties?properties)throws SQLClientInfoException
設置連接的客戶端信息屬性的值。Properties?對象包含將要設置的客戶端屬性的名稱和值。包含在屬性列表中的客戶端信息屬性集將替換連接上的當前客戶端信息屬性集。如果當前在連接上設置的某個屬性不在屬性列表中,則清除該屬性。指定一個空屬性列表將清除連接上的所有屬性。有關更多信息,請參閱?setClientInfo (String, String)。 如果在設置任何客戶端信息屬性時發生錯誤,則拋出?SQLClientInfoException。SQLClientInfoException?包含指示未設置的客戶端信息屬性的信息。客戶端信息的狀態是未知的,因為某些數據庫不允許自動設置多個客戶端信息屬性。對于這些數據庫,在錯誤發生之前已經設置了一個或多個屬性。
?
?
參數:properties?- 要設置的客戶端信息屬性列表 ?
拋出:SQLClientInfoException?- 如果在數據庫服務器上設置 clientInfo 值時數據庫服務器返回一個錯誤,或者在關閉的連接上調用此方法 ?
從以下版本開始:1.6 ?
另請參見:setClientInfo(String, String)
getClientInfo
String
getClientInfo(String?name)throws SQLException
返回通過名稱指定的客戶端信息屬性的值。如果指定的客戶端信息屬性尚未設置并且沒有默認值,那么此方法返回 null。如果指定客戶端信息屬性名稱不受驅動程序支持,那么此方法也將返回 null。 應用程序可以使用?DatabaseMetaData.getClientInfoProperties?方法確定受驅動程序支持的客戶端信息屬性。
?
?
參數:name?- 要獲取的客戶端信息屬性的名稱 ?
返回:指定的客戶端信息屬性的值 ?
拋出:SQLException?- 如果在從數據庫中獲取客戶端信息值時數據庫服務器返回一個錯誤,或者在關閉的連接上調用此方法 ?
從以下版本開始:1.6 ?
另請參見:DatabaseMetaData.getClientInfoProperties()
getClientInfo
Properties
getClientInfo()throws SQLException
返回一個列表,它包含驅動程序支持的每個客戶端信息屬性的名稱和當前值。如果客戶端信息屬性尚未設置并且沒有默認值,那么客戶端信息屬性的值為 null。 ?
?
返回:一個?Properties?對象,它包含驅動程序支持的每個客戶端信息屬性的名稱和當前值。 ?
拋出:SQLException?- 如果在從數據庫中獲取客戶端信息值時數據庫服務器返回一個錯誤,或者在關閉的連接上調用此方法 ?
從以下版本開始:1.6
createArrayOf
Array
createArrayOf(String?typeName,Object[]?elements)throws SQLException
創建 Array 對象的工廠方法。 注:當使用?createArrayOf?創建映射到基本數據類型的數組對象時,則?Array?對象是基本數據類型數組還是?Object?數組將由實現來定義。
注:JDBC 驅動程序負責將元素?Object?數組映射到 java.sql.Types 中為?Object?的給定類定義的默認 JDBC SQL 類型。默認映射關系是在 JDBC 規范的附錄 B 中指定的。如果得到的 JDBC 類型對于給定 typeName 而言不是合適的類型,則拋出?SQLException?還是驅動程序支持得到的轉換將由實現來定義。
?
參數:typeName?- 數組元素將映射到的類型的 SQL 名稱。typeName 是特定于數據庫的名稱,它可能是內置類、用戶定義類型或此數據庫支持的標準 SQL 類型的名稱。該參數是?Array.getBaseTypeName?返回的值elements?- 填充所返回對象的元素返回:其元素映射到指定 SQL 類型的 Array 對象拋出:SQLException?- 如果發生數據庫錯誤,JDBC 類型對于 typeName 不是合適類型并且該轉換不受支持,typeName 為 null,或者在關閉的連接上調用此方法SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6
createStruct
Struct
createStruct(String?typeName,Object[]?attributes)throws SQLException
創建 Struct 對象的工廠方法。 ?
參數:typeName?- 此?Struct?對象將映射到的 SQL 構造類型的 SQL 類型名稱。typeName 是為此數據庫定義的用戶定義類型的名稱。該參數是?Struct.getSQLTypeName?返回的值。attributes?- 填充所返回對象的屬性返回:映射到給定 SQL 類型的 Struct 對象,該對象將使用給定屬性填充拋出:SQLException?- 如果發生數據庫錯誤,typeName 為 null,或者在關閉的連接上調用此方法SQLFeatureNotSupportedException?- 如果 JDBC 驅動程序不支持此數據類型從以下版本開始:1.6 Connection類似用法
- Android下的Connection使用方法和示例
轉載于:https://www.cnblogs.com/bincoding/p/6554954.html
總結
以上是生活随笔為你收集整理的Java中Connection方法笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。