其它章節的翻譯參見:

          http://www.pgsqldb.org/twiki/bin/view/PgSQL/JDBC4%E8%AF%B4%E6%98%8E%E4%B9%A6

          =================================================================

          序言

           

          這個文檔鞏固了下面幾個規范的內容:

          JDBC: JavaSQL類庫”

          JDBC 2.1 類庫”

          JDBC 2.0 標準擴展類庫”

          JDBC 3.0 規范”

           

          文檔介紹了JDBC 4.0 類庫的新特征和一些增強的特征。文檔根據不同特征劃分章節,這樣可以更方便了解JDBC 4.03.0的不同之處。

           

          讀者如果想了解JDBC類庫的詳細信息,可以參考JDBC的類庫文檔(Javadoc),該文檔可以由以下鏈接獲得:

          http://java.sun.com/products/jdbc

           

          ==========================================================================

          介紹

           

          1.1 JDBC類庫

          JDBC類庫提供了通過Java語言訪問關系數據庫的能力。Java程序通過JDBC可以執行SQL語句,對獲取的數據進行處理,并將變化了的數據存回數據庫。在分布式異構環境中,我們還可以通過JDBC操縱多個數據源。

           

          JDBC類庫基于X/Open SQL通用語言接口(CLI)ODBC也基于此。JDBC提供了一個使用方便的映射方案:從Java語言到X/Open 通用語言接口和SQL標準的抽象實體及概念的映射。

           

          1997年的產生至今,JDBC類庫已被廣泛的接受和實現。類庫的靈活性使得它可以有很多個具體實現。

           

          1.2 平臺

          JDBC類庫是Java平臺的一部分。4.0版分為兩個包:java.sql javax.sql。這兩個包都包含在JSE(Java桌面版)JEE(Java企業版)中。

           

          1.3 適合讀者

          該文檔主要面向下列產品的開發者:

          1. JDBC驅動程序

          2. 基于數據庫驅動提供三層架構服務的應用服務器

          3. 使用JDBC類庫來提供服務的工具

           

          該文檔想達到以下目的:

          1.對使用JDBC類庫的開發者的一個介紹

          2.作為開發基于JDBC的類庫的起始點

           

          ===============================================================

          目標

           

          2.1 歷史

          2.2 JDBC 4.0 之目標

          ---1.JEEJSE平臺相處融洽

          ---2.SQL:2003一致

          ---3.鞏固前述四個規范

          ---4.提供中立于廠商的通用功能

          ---5.主要只針對SQL類型的數據源

          ---6.提供高層類庫和工具的基礎設施

          ---7.保持簡單

          ---8.加強可靠性、可用性和可伸縮性

          ---9.保持向后兼容性

          ---10.JDBC行集(RowSet)緊密聯系

          ---11.與連接器架構(Connectors)兼容

          ---12.清晰描述JDBC需求

          ==================================================================

          新特性概覽

           

          3.1 變更概覽

          JDBC 4.0 類庫在以下領域注入了變化和新的元素:

          1.自動加載java.sql.Driver

          DriverManager.getConnection方法被修改以利用JSE的服務提供者機制來自動加載JDBC驅動。這樣就不需要調用Class.forName方法了。

          2.類庫使用更容易

          添加了標準JDBC注釋。支持數據集(DataSet),使Java應用調用SQL數據源更加方便。

          3.ROWID數據類型

          添加了java.sql.RowID數據類型,使得JDBC程序可以訪問SQL ROWID

          4.支持本地字符集轉換(National Character Set Conversion)

          添加了一些JDBC類型:NCHAR, NVARCHAR, LONGVARCHAR, NCLOB。對應的方法setNString, setNCharacterStream, setNClob也被添加到PreparedStatement接口中。

          5.增強了對BLOBCLOB的支持

          Connection接口添加了生產BLOB,CLOBNCLOB對象的方法。PreparedStatement接口添加了通過InputStream插入BLOB的方法和使用Reader插入CLOB,NCLOB的方法。Blob, ClobNClob現在可以通過free方法釋放資源。

          6.SQL/XMLXML支持

          SQL2003引入了用SQL表達XML數據的概念。一些類庫被添加進來以支持應用對這些數據的訪問。

          7.包裝器(Wrapper)模式

          添加了解包JDBC實現的能力,使開發者可以利用在廠商實現中提供的非標準JDBC方法。

          8.加強的SQLException

          添加對JSE鏈式異常的支持。SQLException現在支持Iterable接口,所以我們可以在for-each循環里讀取SQLExceptions。新添加了兩類SQL異常:SQLTransientExceptionSQLNonTransientException。每個類都提供映射到普通SQLState類型值(譯者注:SQLState?)的子類。

          9.連接管理

          ConnectionStatement接口得到了增強,以利于對連接狀態的跟蹤,并增加在池環境中管理Statement對象的靈活性。

          10.JDBC類庫的變化

          下面的JDBC接口被修改:

          ---10.1 Connection

          添加了下列方法:createBlob, createClob, createNClob, createQueryObject, isValid, createXML, getClientInfo, setClientInfo。

          ---10.2 CallableStatement

          添加了下列方法:getRowId, setRowId, getNClob, setNString, setNCharacterStream, setNClob, getSQLXML, setSQLXML。重載了setClobsetBlob方法。

          ---10.3 DatabaseMetaData

          添加了下列方法:getRowIdLifetime, autoCommitFailureClosesAllResultSets, providesQueryObjectGenerator, getClientInfoProperties, supportsStoredFunctionsUsingCallSyntax. 重載了getSchemas方法。

          ---10.4 PreparedStatement

          添加了下列方法:setRowId, setNString, setNCharacterStream, setSQLXML, isPoolable, setPoolable, setNClob。重載了setClobsetBlob方法。

          ---10.5 ResultSet

          添加了下列方法:getHoldability, getRowId, updateRowID, getNClob, isClosed, updateNString, getSQLXML, updateSQLXML, updateNClob。

          ---10.6 Statement

          添加了isClosedgetResultSetHoldability方法。

          ---10.7 DataSource

          添加了createQueryObject方法。

          ---10.8 PooledConnection

          添加了addStatementEventListenerremoveStatementEventListener方法。

          ====================================================================

          概覽

           

          JDBC類庫使得Java程序可以訪問多個數據源,但在大多數情況下,這個數據源是關系數據庫,并且通過SQL訪問。然而,實現JDBC技術的驅動也可以基于其它的數據源,包括遺留文件系統和面向對象的系統。

          JDBC類庫的主要目的就是提供應用程序訪問多種數據源的標準接口。

           

          這一章介紹JDBC類庫的一些關鍵概念,并描述JDBC應用的兩個通用環境及其中的功能實現。

           

          4.1 創建連接

          JDBC類庫中的Connection接口代表了底層數據源的一個連接。

           

          在典型場景中,JDBC應用程序使用兩種機制連接到數據源:

          1.DriverManager --- 這個類在JDBC 1.0中引入,它使用硬編碼的URL來加載驅動。

          2.DataSource --- 這個接口在JDBC 2.0可選包中引入。它優于DriverManager方式,因為它隱藏了數據源的詳細信息。我們通過設置DataSource的屬性來標明它代表的數據源。當getConnection方法被調用時,DataSource對象會返回一個對應的連接。我們可以通過改變DataSource的屬性來使它指向另一個數據源,而不是改變程序代碼。而且,如果DataSource的實現改變了,使用它的應用程序代碼不需要改變。

           

          JDBC類庫也定義了兩個DataSource的擴展,用來支持企業級應用,如下:

          1.ConnectionPoolDataSource --- 支持物理連接的緩存和重用,這樣可以提高應用的性能和可伸縮性。

          2.XADataSource --- 提供可以使用在分布式事務中的連接。

           



          版權所有 羅明
          posted on 2005-09-27 17:18 羅明 閱讀(1226) 評論(2)  編輯  收藏 所屬分類: Java
          Comments
          • # re: JDBC 4.0 Specification - 序言、介紹、目標、新特性摘要、概述 ( 譯文 )
            ZHENGJY
            Posted @ 2005-09-27 17:40
            現在翻譯的人都比較忙,所以翻譯處于停頓階段,如果老兄有空的話可以接著翻,呵呵  回復  更多評論   
          • # re: JDBC 4.0 Specification - 序言、介紹、目標、新特性摘要、概述 ( 譯文 )
            Andy luo
            Posted @ 2005-09-28 11:06
            好的,我正在爭取獲得twiki的權限呢,已經給tingle發email了,我注冊的用戶名是Andyluo,現在還沒有編輯權限。先在blog上貼出來  回復  更多評論   
           
          主站蜘蛛池模板: 钟山县| 盐城市| 马尔康县| 贵阳市| 阳高县| 辽阳县| 盐池县| 马公市| 江安县| 龙口市| 福泉市| 永吉县| 湘潭县| 仲巴县| 江城| 巴林左旗| 博罗县| 永州市| 新兴县| 龙泉市| 咸宁市| 都昌县| 玉龙| 思茅市| 姚安县| 略阳县| 泗水县| 淄博市| 松桃| 大英县| 唐山市| 工布江达县| 乌审旗| 南雄市| 句容市| 垫江县| 徐水县| 兰溪市| 长寿区| 临沭县| 龙口市|