日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Java數(shù)據(jù)庫連接

 Mis林桑 2017-03-28

Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標(biāo)1。它JDBC是面向關(guān)系型數(shù)據(jù)庫的。

基本信息

  • 中文名:Java數(shù)據(jù)庫連接
  • 外文名:Java Database Connectivity
  • 簡稱:JDBC
  • 類別:應(yīng)用程序接口

程序類型

JDBC驅(qū)動程序共分四種類型:

類型1

JDBC-ODBC橋

這種類型的驅(qū)動把所有JDBC的調(diào)用傳遞給ODBC,再讓后者調(diào)用數(shù)據(jù)庫本地驅(qū)動代碼(也就是數(shù)據(jù)庫廠商提供的數(shù)據(jù)庫操作二進制代碼庫,例如Oracle中的oci.dll)。

類型2

本地API驅(qū)動

這種類型的驅(qū)動通過客戶端加載數(shù)據(jù)庫廠商提供的本地代碼庫(C/C++等)來訪問數(shù)據(jù)庫,而在驅(qū)動程序中則包含了Java代碼。

類型3

網(wǎng)絡(luò)協(xié)議驅(qū)動

這種類型的驅(qū)動給客戶端提供了一個網(wǎng)絡(luò)API,客戶端上的JDBC驅(qū)動程序使用套接字(Socket)來調(diào)用服務(wù)器上的中間件程序,后者在將其請求轉(zhuǎn)化為所需的具體API調(diào)用。

類型4

本地協(xié)議驅(qū)動

這種類型的驅(qū)動使用Socket,直接在客戶端和數(shù)據(jù)庫間通信。

API概述

JDBC API主要位于JDK中的java.sql包中(之后擴展的內(nèi)容位于javax.sql包中),主要包括(斜體代表接口,需驅(qū)動程序提供者來具體實現(xiàn)):

DriverManager:負責(zé)加載各種不同驅(qū)動程序(Driver),并根據(jù)不同的請求,向調(diào)用者返回相應(yīng)的數(shù)據(jù)庫連接(Connection)。Driver:驅(qū)動程序,會將自身加載到DriverManager中去,并處理相應(yīng)的請求并返回相應(yīng)的數(shù)據(jù)庫連接(Connection)。Connection:數(shù)據(jù)庫連接,負責(zé)與進行數(shù)據(jù)庫間通訊,SQL執(zhí)行以及事務(wù)處理都是在某個特定Connection環(huán)境中進行的。可以產(chǎn)生用以執(zhí)行SQL的Statement。Statement:用以執(zhí)行SQL查詢和更新(針對靜態(tài)SQL語句和單次執(zhí)行)。PreparedStatement:用以執(zhí)行包含動態(tài)參數(shù)的SQL查詢和更新(在服務(wù)器端編譯,允許重復(fù)執(zhí)行以提高效率)。CallableStatement:用以調(diào)用數(shù)據(jù)庫中的存儲過程。SQLException:代表在數(shù)據(jù)庫連接的建立和關(guān)閉和SQL語句的執(zhí)行過程中發(fā)生了例外情況(即錯誤)。

數(shù)據(jù)類型的映射

從SQL到Java數(shù)據(jù)類型映射的JDBC規(guī)范
SQL類型 Java類型
CHAR java.lang.String
VARCHAR java.lang.String
LONGVARCHAR java.lang.String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte[]
VARBINARY byte[]
LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
BLOB java.sql.Blob
CLOB java.sql.Clob
Array java.sql.Array
REF java.sql.Ref
Struct java.sql.Struct

注:這種類型匹配不是強制性標(biāo)準(zhǔn),特定的JDBC廠商可能會改變這種類型匹配。例如Oracle中的DATE類型是包含時分秒,而java.sql.Date僅僅支持年月日。

連接方式

下面羅列了各種數(shù)據(jù)庫使用JDBC連接的方式:

⒈O(jiān)racle8/8i/9i數(shù)據(jù)庫(thin模式)

⒉DB2數(shù)據(jù)庫

⒊Sql Server7.0/2000數(shù)據(jù)庫

⒋Sybase數(shù)據(jù)庫

⒌Informix數(shù)據(jù)庫

⒍MySQL數(shù)據(jù)庫

⒎PostgreSQL數(shù)據(jù)庫

⒏access數(shù)據(jù)庫直連用ODBC的

當(dāng)訪問一個遠程數(shù)據(jù)庫時,JDBC將利用Internet文件的編址方案和一個看起來很像網(wǎng)頁地址(統(tǒng)一資源定位器URL)的文件名。

JDBC為程序員指定了一組在編寫SQL請求時使用的面向?qū)ο蟮念?。還有一組附加的類描述了JDBC驅(qū)動API。能映射成Java數(shù)據(jù)類型的最普通的SQL數(shù)據(jù)類型都是支持的。這個API提供了微軟事務(wù)服務(wù)器請求的執(zhí)行支持以及提交和回滾到事務(wù)開始的能力。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多