亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JDBC編程基礎第一部分

2019-11-18 12:39:59
字體:
來源:轉載
供稿:網友

  1. 介紹
  
  許多開發者和用戶都在尋找java程序中訪問數據庫的便捷方法。由于Java是一個
  健壯,安全,
  易于使用的,易于理解且可以從網絡中自動download ,所以它成為開發數據庫應
  用的一種良
  好的語言基礎。它提供了C,C ,Smalltalk, BASIC, COBOL, and 4GLs的許多優
  點。許多公司
  已經開始在Java與DBMS的連接方面做工作。
  
  許多Java應用開發者都希望能夠編寫獨立于特定DBMS的程序,而我們也相信一個
  獨立于DBMS的
  接口將使得與各種各樣DBMS連接變得最為便捷,開發更加迅速。所以我們認為定
  義一個通用的
  SQL數據庫存取框架,在各種各樣的提供數據庫連接模塊上提供統一的界面是十分
  有意義的。這
  使程序員可以面對單一的數據庫界面,使數據庫無關的Java工具和產品成為可
  能,使得數據庫連
  接的開發者可以提供各種各樣的連接方案。我們看到我們定義一個通用低層的,
  支持基本SQL功能
  的Java DataBase 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.
  
  
  l JDBC答應查詢表達式直接傳遞到底層的數據驅動,這樣一個程序可以獲得盡量
  多的SQL功能,但是可
  能被DBMS拒絕。事實上,一個程序的查詢甚至可以不是SQL的,或者是SQL的一個
  非凡演化,例如:
  為專門數據庫設計的文本或者圖形查詢。
  l 為了通過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. 不同的功能讓不同的方法(函數)來實現
  
 ?。ā胺椒ā钡脑氖牵簃ethod,這樣翻譯是跟VB的)一種界面設計風格是使用很
  少的過程,提供許多作
  為參數傳遞的控制標志,這樣它們可以用來影響很大一個范圍內的各種行為。來
  表達不同的功能。這
  趨向與使用很多的方法,但是每個方法都比較同意理解。
  
  一般來說,Java內核類使用不同的方法(method)。這個步驟的主要優點是開始
  學習基本界面的程序
  員可以不必被那些與復雜功能相關的參數所困擾。我們力圖在JDBC接口上也采用
  相同的策略。一般來
  說采用不同的方法而不是采用不同的標志和多用途的方法。
  
  3. 接口概貌
  
  接口分為兩個層次,一個是面向程序開發人員的JDBC API。另外一個是底層的
  JDBC Driver API。
  
  3.1. JDBC API
  
  JDBC API 被描述成為彝族抽象的Java接口,似的應用程序遠可以對某個數據庫打
  開連接,執行SQL
  語句并且處理結果。錯誤! 嵌入對象無效。
  
  最重要的接口是:
  
  l java.sql.DriverManager 處理驅動的調入并且對產生新的數據庫連接提供支
  持。
  
  l java.sql.Connection 代表對特定數據庫的連接。
  
  l java.sql.Statement  代表一個特定的容器,來對一個特定的數據庫執行SQL
  語句。
  
  l java.sql.ResultSet  控制對一個特定語句的行數據的存取。其中
  java.sql.Statement
  又有兩

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区网站| 精品国内产的精品视频在线观看| 国产精品高潮呻吟久久av黑人| 日韩中文字幕在线观看| 色无极影院亚洲| 日韩在线观看免费全集电视剧网站| 欧美日韩免费网站| 国产精品69久久久久| 国产亚洲欧洲在线| 日韩中文av在线| 欧美日韩在线另类| 中文字幕亚洲欧美| 久久精品国产亚洲一区二区| 日韩少妇与小伙激情| 亚洲精品欧美日韩专区| 在线观看国产精品淫| 久久精品亚洲94久久精品| 亚洲精品视频在线观看视频| 欧美性高潮床叫视频| 欧美激情视频网站| 国产精品偷伦免费视频观看的| 色婷婷av一区二区三区久久| 91国产视频在线播放| 美女精品久久久| 91精品国产777在线观看| 久久久成人精品| 国产欧美精品久久久| www.久久撸.com| 精品国产一区二区三区在线观看| 国产精品日韩一区| 精品国产91久久久久久老师| 亚洲自拍偷拍网址| 日韩hd视频在线观看| 国产精品久久久久免费a∨大胸| 国产精品免费一区| 国产精品极品在线| 欧美极品欧美精品欧美视频| 高清欧美性猛交| 国产精品极品美女粉嫩高清在线| 亚洲一二三在线| 国产精品第七影院| 欧美大片大片在线播放| 国产www精品| 成人午夜在线观看| 91tv亚洲精品香蕉国产一区7ujn| 国产精品wwwwww| 3344国产精品免费看| 国内精品久久影院| 欧美床上激情在线观看| 精品女厕一区二区三区| 亚洲国产精品电影| 91极品女神在线| 中文字幕亚洲欧美日韩2019| 欧美激情第一页xxx| 久久资源免费视频| 国产一区二区三区视频| 性色av一区二区三区| 最近2019年中文视频免费在线观看| 日韩在线一区二区三区免费视频| 亚洲欧美国产制服动漫| 亚洲自拍偷拍一区| 亚洲伊人成综合成人网| 中文字幕久精品免费视频| 欧美高清视频一区二区| 日韩成人在线视频网站| 色综合久久中文字幕综合网小说| 久热爱精品视频线路一| 伊人亚洲福利一区二区三区| 久久精品一偷一偷国产| 色婷婷**av毛片一区| 亚洲精品一区二区网址| 国产精品视频在线观看| 欧美日韩综合视频| 中文字幕亚洲国产| 一区二区三区久久精品| 一区二区三区久久精品| 亚洲春色另类小说| 色狠狠久久aa北条麻妃| 色妞久久福利网| 日韩中文字幕免费| 日韩欧美成人免费视频| 亚洲精品小视频在线观看| 国产亚洲精品久久久久久777| 国产精品视频一区国模私拍| www.色综合| 成人免费直播live| 国产精品午夜视频| 这里只有视频精品| 色老头一区二区三区| 国产一区二区三区在线播放免费观看| 欧美性xxxxx极品娇小| 在线成人激情黄色| 在线播放精品一区二区三区| 精品无人国产偷自产在线| 国产精品高潮视频| 国语自产精品视频在线看一大j8| 中文字幕久热精品在线视频| 欧美日韩加勒比精品一区| 精品久久久久久亚洲精品| 精品成人乱色一区二区| 91av视频在线播放| 国产+成+人+亚洲欧洲| 日本欧美在线视频| 国产精品黄页免费高清在线观看| 岛国av午夜精品| 韩国国内大量揄拍精品视频| 亚洲色图15p| 精品成人av一区| 国产精品成人aaaaa网站| 综合网中文字幕| 欧美一区三区三区高中清蜜桃| 国产欧美日韩亚洲精品| 精品中文字幕在线2019| 欧美一级视频免费在线观看| 久久亚洲春色中文字幕| 国产精自产拍久久久久久| 2020久久国产精品| 国产精品a久久久久久| 欧美国产精品va在线观看| 国产精品亚洲一区二区三区| 91人成网站www| 欧美性xxxxx极品娇小| 国产97色在线|日韩| 色老头一区二区三区在线观看| 亚洲伊人久久大香线蕉av| 亚洲国内精品在线| 国产精品一区二区三| 亚洲亚裔videos黑人hd| 亚洲第一av网| 亚洲天堂av在线免费观看| 久久久精品久久久久| 久久久女女女女999久久| 日韩国产在线看| 欧美性色xo影院| 国产精品第一第二| 国产成人亚洲综合青青| 97国产精品免费视频| 亚洲午夜av电影| 国内精品久久久久久久久| 久久久视频在线| 国产亚洲精品久久久久久| 91亚洲永久免费精品| 亚洲免费福利视频| 日韩美女免费观看| 欧美精品一区在线播放| 亚洲色图偷窥自拍| 91天堂在线观看| 一级做a爰片久久毛片美女图片| 国产精品偷伦视频免费观看国产| 国产精品自产拍在线观| 国产亚洲欧洲高清| 中文字幕日韩欧美在线视频| 久久夜色撩人精品| 日韩国产欧美精品一区二区三区| 色妞久久福利网| 国产日韩欧美影视| 精品久久久久久电影| 欧美日韩国产二区| 亚洲香蕉伊综合在人在线视看| 精品视频在线导航| 亚洲欧美日韩中文视频| 8x拔播拔播x8国产精品| 97久久久久久| 91最新国产视频|