亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jdbc技術介紹 轉.txt

?? 這是一本很好的Java開發書籍
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
作者:有所得
日期:2000-11-16 10:35:22
1. 介紹

  許多開發者和用戶都在尋找Java程序中訪問數據庫的便捷方法。由于Java是一個健壯,安全,易于使用的,易于理解且可以從網絡中自動download ,所以它成為開發數據庫應用的一種良好的語言基礎。它提供了C,C++,Smalltalk, BASIC, COBOL, and 4GLs的許多優點。許多公司已經開始在Java與DBMS的連接方面做工作。

  許多Java應用開發者都希望能夠編寫獨立于特定DBMS的程序,而我們也相信一個獨立于DBMS的接口將使得與各種各樣DBMS連接變得最為便捷,開發更加迅速。所以我們認為定義一個通用的SQL數據庫存取框架,在各種各樣的提供數據庫連接模塊上提供統一的界面是十分有意義的。這使程序員可以面對單一的數據庫界面,使數據庫無關的Java工具和產品成為可能,使得數據庫連接的開發者可以提供各種各樣的連接方案。我們看到我們定義一個通用低層的,支持基本SQL功能的JavaDataBase Connectivity (JDBC)API的緊迫任務。

  幸運的是我們不必從頭設計一個SQL API。我們可以把我們的工作建立在 X/Open SQL CLI (調用層接口)之上(它也是Microsoft's ODBC 的基礎)。

  我們主要任務是定義一個自然的Java接口來與X/Open CLI中定義的基本的抽象層和概念連接。

  JDBC API得到數據庫開發廠商,連接開發廠商,ISV,以及應用開發者的支持是十分重要的。我們相信把我們的工作建立在ODBC抽象層的基礎上將JDBC更加容易得到大家的接受。而且從技術上來說,ODBC是我們設計工作的一個良好基礎。

  因為ODBC是一個C語言接口,所以ODBC在Java中直接使用不適當。從Java中來調用C代碼在安全性,健壯性,實現的方便,可移植性等等方面有許多不便。它使得Java在這些方面的許多優點得不到發揮。

  我們已經在短期里面實現了一個建立在ODBC上的API。長遠來看,我們可以通過其他方式提供實現。

1. 1. 注意

  我們非常感謝在數據庫,數據庫連接和數據庫工具領域的許多早期的工作者。他們為JDBC的早期草案提供了很好的意見和建議。他們的工作對本規范起了不可估量的作用。

 

2. 目標與哲學

  這個部分描述了指引這個API開發的目標以及哲學。

2. 1. SQL 級 API

  我們的主要目標是為Java定義一個“調用級”(call-level)的SQL接口。著意味著我們主要的注意力集中在執行原原本本的SQL語句并且取回結果。我們預計高層的API也將被定義,這些可能將建立在基層的接口上。

  這些高層接口包括象直接地、透明地把表里面的數據影射到Java類里面,用語法樹表示更加通用的查詢,以及Java內嵌的SQL語法。

  我們希望大量的應用開發工具將使用我們的API。然而我們也希望程序員能夠使用我們的API,尤其是目前這樣在Java里沒有任何其他手段(應該是說數據庫訪問手段)的情況下。

2. 2. 遵循SQL

  數據庫系統支持各式各樣的SQL語法和語義,它們相互之間在比較高級的功能例如外部連接,內嵌過程等方面并不一致,盡管我們能夠盼望著隨時間的推移這些部分的SQL可以獲得標準化。同時我們采取這樣的態度與立場:

  In fact, an application query need not even be SQL, or it may be a specialized derivative of SQL, e.g. for document or image queries, designed for specific DBMSs.

  In order to pass JDBC compliance tests and to be called "JDBC COMPLIANT " we require that a driver support at least ANSI SQL-2 Entry Level. This gives applications that want wide portability a guaranteed least common denominator. We believe ANSI SQL-2 Entry Level is reasonably powerful and is reasonably widely supported today.

* JDBC允許查詢表達式直接傳遞到底層的數據驅動,這樣一個程序可以獲得盡量多的SQL功能,但是可能被DBMS拒絕。事實上,一個程序的查詢甚至可以不是SQL的,或者是SQL的一個特殊演化,例如:為專門數據庫設計的文本或者圖形查詢。

* 為了通過JDBC兼容的測試,并且能夠被稱為JDBC兼容,我們要求一個驅動至少支持ANSI SQL-2的標準。這使得那些需要廣泛移植性的程序獲得一個最小的分母(這句話的原文是:This gives applications that want wide portability a guaranteed least common denominator.)。我們相信ANSI SQL-2是足夠強大的,并且是得到足夠支持的。

2. 3. JDBC必須可以建立在現有的數據庫接口上

  我們必須能夠保證 JDBC SQL API 能夠建立在普通的SQL API上,尤其是ODBC。這些要求已經對這個規范的一些部分產生了影響,尤其是對傳出參數(OUT parameter)和大數據塊的處理。

2. 4. 必須保證這個接口與JAVA系統的其他部分保持一致

 目前對JAVA的積極回應已經十分熱烈。很大程度上是由于這個語言標準以及標準運行時庫被認為是一致,簡單和強大的。我們將盡我們所能,提供這個Java數據庫接口,這個接口將建立在Java內核現有的這種風格,并且將進一步加強它。

2. 5. 保持簡單

  We would prefer to keep this base API as simple as possible, at least initially. In general we would prefer to provide a single mechanism for performing a particular task, and avoid provid-ing duplicate mechanisms. We will extend the API later if any important functionality is miss-ing.

  我們將力爭使得基本的API盡量簡單,至少開始的時候是這樣的。一般來說,我們希望對實現每個特定的任務只提供一種方案,而避免提供多種方案。如果一些重要的功能遺漏了,那么我們在晚些時候將擴充這個API。

2. 6. 盡量保持強的、靜態的類型

  我們希望這個JDBC API保持盡量強的類型檢查,使得盡可能多的類型信息可以靜態地表達。著使得盡可能多的錯誤可以在編譯的時候被發現。

  由于SQL本身是動態類型的,所以我們可能會在程序運行的時候遇到類型不能匹配的問題。例如:當一個程序員在希望SELECT返回一個整數,但是實際返回的是一個字符串“foo”. 但是我們依然希望程序員把他們所希望的類型在編譯的時候就能夠表達清楚,這樣我們可以做盡可能多的靜態檢查。我們也希望在必要的時候能夠支持動態類型接口(見第四章)

2. 7. 使普通任務簡化

  我們希望普通的任務能夠是簡單的,而不一般的工作是可行的。

  一個普通任務是指一個程序員執行一個簡單的沒有參數的SQL語句(例如:SELECT,INSERT,UPDATE,DELETE),然后(例如SELECT)處理返回的具有簡單類型的元組。一個具有傳入參數(IN parameter)的SQL語句也是普通的。

  不那么普通但是也是十分重要的情形是當程序員使用有INOUT,OUT參數的SQL語句。我們也需要支持讀寫幾兆字節對象的SQL語句,更特別一些的情形包括一個語句返回了多個結果集合。

  我們希望元數據(Meatdata)的使用很少的,只是那些熟練的程序員以及開發工具才需要處理的問題。元數據存取函數以及動態類型數據存取函數在這個文檔末尾,一般的程序員可以不必關心這些章節。

2. 8. 不同的功能讓不同的方法(函數)來實現(“方法”的原文是:method,這樣翻譯是跟VB的)

  一種界面設計風格是使用很少的過程,提供許多作為參數傳遞的控制標志,這樣它們可以用來影響很大一個范圍內的各種行為。來表達不同的功能。這趨向與使用很多的方法,但是每個方法都比較同意理解。

  一般來說,Java內核類使用不同的方法(method)。這個步驟的主要優點是開始學習基本界面的程序員可以不必被那些與復雜功能相關的參數所困擾。我們力圖在JDBC接口上也采用相同的策略。一般來說采用不同的方法而不是采用不同的標志和多用途的方法。

3. 接口概貌

  接口分為兩個層次,一個是面向程序開發人員的JDBC API。另外一個是底層的JDBC Driver API。

3. 1. JDBC API

  JDBC API 被描述成為彝族抽象的Java接口,似的應用程序遠可以對某個數據庫打開連接,執行SQL語句并且處理結果。最重要的接口是:

* java.sql.DriverManager 處理驅動的調入并且對產生新的數據庫連接提供支持。

* java.sql.Connection 代表對特定數據庫的連接。

* java.sql.Statement  代表一個特定的容器,來對一個特定的數據庫執行SQL語句。

* java.sql.ResultSet  控制對一個特定語句的行數據的存取。

其中java.sql.Statement又有兩個子類型:

1. java.sql.PreparedStatement  用于執行預編譯的SQL語句。

2. java.sql.CallableStatement  用于執行對一個數據庫內嵌過程的調用。

  下面的章節對JDBC是如何運行的提供了更多描述,整個定義見第13章。另外第15章描述了系統如果獲取數據庫的元數據信息。

3. 2. JDBC Driver API

  java.sql.Driver在第9章有完整的定義了.大部分JDBC驅動只需要完成這些JDBC API所定義的抽象類就可以了。特別地,所有的driver必須提供對java.sql.Connection, java.sql. State-ment, java.sql.Prepared-Statement, and java.sql.ResultSet的實現。如果目標DBMS提供有OUT參數的內嵌過程,那么還必須提供java.sql.CallableStatement 接口。 每個database driver必須提供一個類:java.sql.Driver以使得系統可以由 java.sql.DriverManager來管理。

  一個顯然的driver是在ODBC之上提供對JDBC的實現,從而提供與ODBC接口的JDBC-ODBC 橋,就象前面的圖所顯示的.由于JDBC放在ODBC之后,所以實現起來簡單而且高效。

  另外一個有用的驅動直接接觸數據庫無關的網絡協議。發布一個協議允許多個服務器實現的方法,例如在ODBC或者特定的DBMS上(盡管已經有了一些使用固定協議的產品,但是我們不打算對它們實現標準化。),是可取的。

 

4. JDBC使用場合

  Before looking at specifics of the JDBC API, an understanding of typical use scenarios is help-ful. There are two common scenarios that must be treated differently for our purposes: applets and applications.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色丁香九九婷婷综合五月| 国产一区二区影院| 久久综合色鬼综合色| 一本色道亚洲精品aⅴ| 另类专区欧美蜜桃臀第一页| 亚洲图片另类小说| 久久日一线二线三线suv| 欧美在线不卡一区| hitomi一区二区三区精品| 免费一区二区视频| 亚洲一区二区三区三| 日韩伦理av电影| 国产精品视频yy9299一区| 欧美大胆一级视频| 欧美丰满嫩嫩电影| 欧美性猛交xxxxxxxx| 99视频超级精品| 国产高清精品网站| 精品午夜久久福利影院| 日本不卡的三区四区五区| 亚洲国产综合在线| 亚洲精品第1页| 国产精品久久久久久亚洲毛片| 精品国产乱码久久久久久蜜臀 | 日韩美一区二区三区| 精品视频一区三区九区| 色老头久久综合| av资源网一区| 不卡av在线网| 成人av网站大全| 不卡av免费在线观看| 从欧美一区二区三区| 成人免费av资源| 成人黄色777网| 99视频精品全部免费在线| 菠萝蜜视频在线观看一区| 粉嫩嫩av羞羞动漫久久久| 国产精品亚洲专一区二区三区| 国产精品亚洲一区二区三区在线| 国产精选一区二区三区| 国产精品911| 国产.欧美.日韩| av高清不卡在线| 色伊人久久综合中文字幕| 在线免费观看成人短视频| 欧美在线免费视屏| 欧美一区二区三区免费| 精品日韩在线观看| 欧美精品一区二区蜜臀亚洲| 久久久91精品国产一区二区三区| 国产日韩欧美精品一区| 亚洲欧洲日产国产综合网| 亚洲男人电影天堂| 亚洲成a人在线观看| 久久国产视频网| 国产99久久久国产精品潘金| 不卡影院免费观看| 欧美少妇bbb| 日韩亚洲电影在线| 国产日韩精品久久久| 18成人在线观看| 视频一区二区三区在线| 精品一区二区三区免费| 成人高清伦理免费影院在线观看| 日本韩国精品在线| 欧美一区二区在线视频| 国产欧美日本一区二区三区| 亚洲精品久久久蜜桃| 日本免费新一区视频| 国产成人综合网站| 欧美亚洲禁片免费| 精品久久久久久久久久久院品网| 国产精品乱人伦| 视频一区免费在线观看| 国产精品 欧美精品| 91久久一区二区| 欧美成人国产一区二区| 最新热久久免费视频| 三级亚洲高清视频| 成人激情开心网| 91精品婷婷国产综合久久竹菊| 国产亚洲精久久久久久| 亚洲一区二区三区自拍| 国产91露脸合集magnet| 欧美日韩免费观看一区二区三区| 精品国产乱码久久| 一区二区三区久久| 国产成人激情av| 日韩一区二区三区四区| 亚洲精品视频自拍| 国产一区二区三区四区五区入口| 欧美中文字幕不卡| 国产嫩草影院久久久久| 美女视频一区二区| 欧美在线综合视频| 中文字幕巨乱亚洲| 久久精品国产99国产| 在线观看国产91| 国产精品嫩草影院av蜜臀| 五月婷婷综合激情| 91美女片黄在线观看| 久久日韩精品一区二区五区| 日韩精品亚洲专区| 欧美亚洲动漫精品| 国产精品传媒视频| 国产激情视频一区二区三区欧美| 欧美久久久久中文字幕| 亚洲另类春色校园小说| 国产精品18久久久久久vr | 日日夜夜精品免费视频| 成人深夜福利app| 欧美刺激脚交jootjob| 亚洲一区二区三区在线播放| 成人久久视频在线观看| 精品美女被调教视频大全网站| 亚洲动漫第一页| 日本国产一区二区| 亚洲天堂福利av| 9色porny自拍视频一区二区| 久久久无码精品亚洲日韩按摩| 六月婷婷色综合| 制服.丝袜.亚洲.中文.综合| 亚洲444eee在线观看| 欧美天天综合网| 一卡二卡欧美日韩| 欧美午夜一区二区| 亚洲综合小说图片| 91成人在线精品| 亚洲人成电影网站色mp4| kk眼镜猥琐国模调教系列一区二区| 国产欧美精品日韩区二区麻豆天美| 国产最新精品精品你懂的| 欧美大片一区二区| 韩国v欧美v亚洲v日本v| ww亚洲ww在线观看国产| 国产一区二区三区在线观看精品| 久久美女高清视频| 高清在线观看日韩| 中文字幕中文字幕在线一区| 91香蕉视频在线| 亚洲一区二区美女| 8x8x8国产精品| 麻豆免费看一区二区三区| 日韩亚洲电影在线| 国产精品一区二区久激情瑜伽| 国产区在线观看成人精品| 懂色av一区二区三区免费观看| 国产精品午夜在线| 91免费版pro下载短视频| 亚洲高清免费在线| 日韩欧美另类在线| 国产精品一区二区男女羞羞无遮挡| 欧美国产在线观看| 色国产精品一区在线观看| 亚洲成人在线免费| 久久人人超碰精品| 色综合久久久久久久久久久| 亚洲风情在线资源站| 亚洲精品在线观看网站| 成人久久18免费网站麻豆 | 亚洲国产一二三| 欧美一区二区免费观在线| 国内外精品视频| 国产精品九色蝌蚪自拍| 欧美视频精品在线| 国产一区二区三区精品欧美日韩一区二区三区 | 日韩国产精品久久| 久久久久亚洲蜜桃| 欧洲日韩一区二区三区| 久久精品噜噜噜成人av农村| 中文字幕av资源一区| 欧美午夜精品免费| 国模大尺度一区二区三区| 亚洲啪啪综合av一区二区三区| 欧美丰满美乳xxx高潮www| 国产69精品久久久久777| 亚洲一区二区三区四区中文字幕| 精品理论电影在线| 色婷婷精品大在线视频| 久久激情综合网| 亚洲欧美偷拍三级| 亚洲精品在线三区| 欧美在线制服丝袜| 成人性生交大片免费看中文| 亚洲一二三四久久| 欧美经典一区二区三区| 欧美精品免费视频| 97超碰欧美中文字幕| 看片网站欧美日韩| 亚洲一区二区三区三| 国产精品欧美久久久久一区二区| 制服丝袜激情欧洲亚洲| 色婷婷久久久久swag精品| 国产精品一二一区| 秋霞电影一区二区| 一级日本不卡的影视| 欧美国产亚洲另类动漫| 日韩欧美中文字幕制服| 在线亚洲欧美专区二区| 国产91在线观看丝袜|