小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 Mis林桑 2017-03-28

Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡(jiǎn)稱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
  • 簡(jiǎn)稱:JDBC
  • 類別:應(yīng)用程序接口

程序類型

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

類型1

JDBC-ODBC橋

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

類型2

本地API驅(qū)動(dòng)

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

類型3

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

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

類型4

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

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

API概述

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

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

數(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

注:這種類型匹配不是強(qiáng)制性標(biāo)準(zhǔn),特定的JDBC廠商可能會(huì)改變這種類型匹配。例如Oracle中的DATE類型是包含時(shí)分秒,而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)訪問一個(gè)遠(yuǎn)程數(shù)據(jù)庫時(shí),JDBC將利用Internet文件的編址方案和一個(gè)看起來很像網(wǎng)頁地址(統(tǒng)一資源定位器URL)的文件名。

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多