<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    其它章節(jié)的翻譯參見:

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

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

    序言

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

    JDBC: JavaSQL類庫”

    JDBC 2.1 類庫”

    JDBC 2.0 標準擴展類庫”

    JDBC 3.0 規(guī)范”

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

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

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

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

    介紹

    1.1 JDBC類庫

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

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

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

    1.2 平臺

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

    1.3 適合讀者

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

    1. JDBC驅動程序

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

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

    該文檔想達到以下目的:

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

    2.作為開發(fā)基于JDBC的類庫的起始點

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

    目標

    2.1 歷史

    2.2 JDBC 4.0 之目標

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

    ---2.SQL:2003一致

    ---3.鞏固前述四個規(guī)范

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

    ---5.主要只針對SQL類型的數(shù)據源

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

    ---7.保持簡單

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

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

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

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

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

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

    新特性概覽

    3.1 變更概覽

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

    1.自動加載java.sql.Driver

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

    2.類庫使用更容易

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

    3.ROWID數(shù)據類型

    添加了java.sql.RowID數(shù)據類型,使得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現(xiàn)在可以通過free方法釋放資源。

    6.SQL/XMLXML支持

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

    7.包裝器(Wrapper)模式

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

    8.加強的SQLException

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

    9.連接管理

    ConnectionStatement接口得到了增強,以利于對連接狀態(tài)的跟蹤,并增加在池環(huán)境中管理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程序可以訪問多個數(shù)據源,但在大多數(shù)情況下,這個數(shù)據源是關系數(shù)據庫,并且通過SQL訪問。然而,實現(xiàn)JDBC技術的驅動也可以基于其它的數(shù)據源,包括遺留文件系統(tǒng)和面向對象的系統(tǒng)。

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

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

    4.1 創(chuàng)建連接

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

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

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

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

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

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

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



    版權所有 羅明
    posted on 2005-09-28 01:18 羅明 閱讀(140) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
     
    主站蜘蛛池模板: 亚洲一卡2卡三卡4卡有限公司| 久久大香伊焦在人线免费| 亚洲精品日韩专区silk| 久久精品国产亚洲AV麻豆~| 亚洲色欲久久久综合网| 亚洲精品无码激情AV| 无码国产亚洲日韩国精品视频一区二区三区| 免费电影在线观看网站| 女人让男人免费桶爽30分钟| 日韩毛片免费无码无毒视频观看 | 亚洲色偷偷偷鲁综合| 亚洲永久无码3D动漫一区| 久久久久无码专区亚洲av| 精品亚洲视频在线观看| 亚洲午夜国产精品无码| 国产亚洲福利精品一区| 亚洲AV成人无码久久精品老人| 亚洲今日精彩视频| 久久久久亚洲精品日久生情| 亚洲国产成人资源在线软件| 亚洲男人的天堂在线| 久久久久精品国产亚洲AV无码| 亚洲专区中文字幕| 亚洲乱人伦中文字幕无码| 亚洲A∨精品一区二区三区下载| 爱情岛论坛亚洲品质自拍视频网站| 猫咪www免费人成网站| 无码日韩人妻AV一区免费l| 九九热久久免费视频| 色www永久免费| 亚洲一级免费毛片| 免费看片A级毛片免费看| 哒哒哒免费视频观看在线www| 久久久久亚洲精品天堂久久久久久 | 亚洲日韩精品无码专区加勒比| 中文字幕亚洲综合久久综合| 久久久久亚洲AV无码去区首| 亚洲国产免费综合| 18pao国产成视频永久免费| 18禁成年无码免费网站无遮挡| 四虎永久免费地址在线网站|