?? jdbc-spec.frame18.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312">
<title></title>
</head>
<body bgcolor="#ffffff">
<table width="600">
<tr>
<td><font size="-1"><a href="jdbc-spec.frame.html">目錄</a> | <a
href="jdbc-spec.frame17.html">上一頁</a> | 下一頁 </font></td>
<td align="right"><i>JDBC<sup><font size="-2">TM</font></sup> 指南:入門</i></td>
</tr>
</table>
<hr>
<p><br>
<a name="25168"></a> </p>
<h2>附錄 D: 變化記錄</h2>
<p>0.50 和 0.60 之間的變化包括:
<ul>
<p><a name="20071"></a></p>
<li>修訂了事務的說明,刪除了對過時 beginTransaction 方法的引用 (<a
href="jdbc-spec.frame9.html#11734">9.3</a>)。<br>
<br>
<a name="20075"></a> </li>
<li>修正了方法名中的各種拼寫錯誤、大寫字母使用錯誤及不一致問題,特別是對于
DatabaseMetaData 接口。<br>
<br>
<a name="20285"></a> </li>
<li>為 SQLWarning 添加了新方法以管理鏈。<br>
<br>
<a name="20508"></a> </li>
<li>指明如果試圖檢索不可用的目錄信息,則 metadata
方法應拋出異常,而不是返回空 ResultSets。 (參見 DatabaseMetaData.java
最前面的注釋)。<br>
<br>
<a name="20509"></a> </li>
<li>將各種歷史記錄從主文檔移到附錄 A 中。<br>
<br>
<a name="20192"></a> </li>
<li>添加 Statement.executeUpdate 并修改了 Statement.execute。execute
方法將用于動態編程,而 executeQuery 和 executeUpdate
則用于簡單語句的執行。<br>
<br>
<a name="20489"></a> </li>
<li>重寫第 <a href="jdbc-spec.frame5.html#20404">5.3</a> 節,闡明 JDBC
驅動程序實現者的安全要求。<br>
<br>
<a name="20523"></a> </li>
<li>添加了 DriverManager.println,用于記錄 JDBC 日志流。<br>
<br>
<a name="20497"></a> </li>
<li>刪除 DriverManager.loadDriver 并修改了第 <a href="jdbc-spec.frame6.html#4731">6.6</a>
節。建議您用 Class.forName 加載驅動程序(這反映了 Java
類加載器實現問題)<br>
<br>
<a name="20738"></a> </li>
<li>第 11 節中的敘述更清晰,但接口無變化。<br>
<br>
<a name="20774"></a> </li>
<li>刪除了 ParameterMetadata。它的內容是 DatabaseMetaData.getProcedureColumns
所返回信息的子集,而后者接口更完整。<br>
<br>
<a name="20797"></a> </li>
<li>將 Environment 重命名為 DriverManager。該名稱可以更好地反映該類的最終功能。<br>
<br>
<a name="20942"></a> </li>
<li>聲明 JDBC 將對 CHAR(n) 域執行空間填補(第 <a
href="jdbc-spec.frame8.html#15953">8.3</a> 節)。<br>
<br>
<a name="21054"></a> </li>
<li>添加第 <a href="jdbc-spec.frame7.html#20964">7.4</a>
節以描述數據截斷規則。<br>
<br>
<a name="21055"></a> </li>
<li>刪除了 ResultSet.getRowNumber。應用程序可自行完成相應的功能。<br>
<br>
<a name="21059"></a> </li>
<li>將事務隔離層的常量值改為與 ODBC 相同。<br>
<br>
<a name="21065"></a> </li>
<li>刪除了 ResultSet.getRowCount。一些評論家已對實現 ResultSet.getRowCount
時費用過高問題表示了關注。<br>
<br>
<a name="21069"></a> </li>
<li>刪除了 ResultSet.getColumnCount。由于 ResultSetMetaData.getColumnCount
方法的存在,本方法已顯多余。同時,需要知道列數的程序員可能也需要其它列的元數據。<br>
<br>
<a name="21097"></a> </li>
<li>為滿足普遍需要,附加了 ResultSet 方法來根據列名檢索值。<br>
<br>
<a name="24833"></a> </li>
<li>使 ResultSet
成為抽象類(而不是接口),以便提供以列名為參數的方法的缺省實現(注意:目前我們對該實現尚無信心,而且仍在磋商)。<br>
<br>
<a name="24834"></a> </li>
<li>添加了 Statement.setCursorName。<br>
<br>
<a name="24843"></a> </li>
<li>將 Java“doc comment”風格的注釋添加到多個 API 說明中。<br>
<br>
</li>
</ul>
<p><a name="24855"></a><a name="24860"></a> 0.60 和 0.70 之間的變化包括:
<ul>
<p><a name="24856"></a></p>
<li>除 Statement 警告鏈外,還添加了獨立的 ResultSet
警告鏈(及訪問方法)。<br>
<br>
<a name="25102"></a> </li>
<li>闡明了 ResultSets 中 getAscciStream 和 getUnicodeStream 的功能。<br>
<br>
<a name="25119"></a> </li>
<li>闡明了 PreparedStatements 中 setAsciiStream 和 setUnicodeStream 的功能。<br>
<br>
<a name="25147"></a> </li>
<li>明確聲明存儲過程的 OUT 參數不支持 LONGVARCHAR 和 LONGVARBINARY(參見第
<a href="jdbc-spec.frame7.html#4099">7.3.3</a> 和 <a href="jdbc-spec.frame14.html#6552">14.2</a>
節)。<br>
<br>
<a name="25160"></a> </li>
<li>從 CallableStatement 中刪除了 getLongVarChar 和 getLongVarBinary。<br>
<br>
<a name="25161"></a> </li>
<li>將 ResultSet 重新改為接口(而不是抽象類)。我們提供了
ResultSet.findColumn 的示例實現作為附錄 <a href="jdbc-spec.frame17.html#20043">C</a>
中的參考材料。<br>
<br>
<a name="25289"></a> </li>
<li>用 ResultSet.wasNull 取代了 ResultSet.isNull。我們更喜歡 isNull
風格,但早期 JDBC
實現程序發現:有些數據庫中,某些數據無法可靠地實現 isNull。遺憾的是,這些數據庫需要首先嘗試讀取,而后才能檢查其返回值是否為
NULL。<br>
<br>
<a name="25313"></a> </li>
<li>同樣,我們用 CallableStatement.wasNull 取代了 CallableStatement.isNull。<br>
<br>
<a name="25342"></a> </li>
<li>如果驅動程序完全符合 JDBC 標準,則將 Driver.jdbcCompliant
添加到報告中。<br>
<br>
<a name="25368"></a> </li>
<li>添加了 jdbc:odbc 子協議 URL 語法的規范 (<a href="jdbc-spec.frame6.html#25343">6.3.6</a>)。<br>
<br>
<a name="25593"></a> </li>
<li>添加了 LIKE 轉義字符 (11.4)。<br>
<br>
<a name="25595"></a> </li>
<li>添加了 Driver.acceptURL 和 DriverManager.getDriver。 <br>
<br>
<a name="25603"></a> </li>
<li>聲明自動關閉功能只適用于 PreparedStatements、CallableStatements 和
ResultSets,而不影響簡單的 Statement (<a href="jdbc-spec.frame9.html#11734">9.3</a>)。<br>
<br>
<a name="25609"></a> </li>
<li>添加了 Driver.getPropertyInfo 方法和 DriverPropertyInfo 類,從而允許通用
GUI 應用程序查看驅動程序所需的連接屬性。<br>
<br>
<a name="25610"></a> </li>
<li>刪除了 SQLWarning 類型 NullData。wasNull
方法可用于檢查是否已讀取空數據。<br>
<br>
<a name="25622"></a> </li>
<li>闡明每次調用“next”時將清除 ResultSet 警告。<br>
<br>
<a name="25716"></a> </li>
<li>闡明每次(重)執行語句時將清除 Statement 警告。<br>
<br>
<a name="25717"></a> </li>
<li>將所有格式為 getXXX 或 setXXX 的方法替換為名稱基于所返回 Java
類型而非 SQL 類型的相似方法。示例之一就是將 getTinyInt 改為 getByte。參見第
<a href="jdbc-spec.frame7.html#20376">7</a> 節或附錄 <a
href="jdbc-spec.frame15.html#25724">A.10</a>。這是一個非常大的改變,而作出這種改變的原因就是:評論家在方法名中的
SQL 類型使用上有普遍的混亂現象,而且他們普遍要求 Java
類型名應具有優先權。<br>
<br>
<a name="25754"></a> </li>
<li>添加了附加的 getObject/setObject 方法和額外的說明性文本 (<a
href="jdbc-spec.frame14.html#6552">14.2</a>)。<br>
<br>
<a name="25755"></a> </li>
<li>添加了闡明何時執行或不執行數據轉換的章節(<a
href="jdbc-spec.frame7.html#26308">7.1.1</a>、<a href="jdbc-spec.frame7.html#26386">7.2.1</a>
和 <a href="jdbc-spec.frame7.html#26428">7.3.1</a>)。<br>
<br>
<a name="26468"></a> </li>
<li>添加了額外的表以闡明從 Java 到 SQL 類型的映射(表 <a
href="jdbc-spec.frame8.html#28688">3</a> 和 <a href="jdbc-spec.frame14.html#30877">5</a>)。
<br>
<br>
</li>
</ul>
<p><a name="35944"></a> 0.70 和 0.95 之間的變化包括:
<ul>
<p><a name="35952"></a></p>
<li>將 SQL FLOAT 的缺省映射改為 Java double 或 Double(表 <a
href="jdbc-spec.frame7.html#30717">1</a>、<a href="jdbc-spec.frame8.html#27081">2</a> 和
<a href="jdbc-spec.frame14.html#6941">4</a>)。<br>
<br>
<a name="35963"></a> </li>
<li>將 Java float 和 Float 的缺省映射改為 SQL REAL(表 <a
href="jdbc-spec.frame8.html#28688">3</a>、<a href="jdbc-spec.frame14.html#30877">5</a>)。<br>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -