国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析基于JDBC的數(shù)據(jù)庫(kù)訪問技術(shù)

2012-12-31 00:00:00劉擁
電腦知識(shí)與技術(shù) 2012年31期

摘要:作為一種有效的數(shù)據(jù)存貯和管理工具,數(shù)據(jù)庫(kù)技術(shù)得到了廣泛的應(yīng)用,Java提供的JDBC API提供多種數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序類型,提供執(zhí)行SQL語(yǔ)句來(lái)操作關(guān)系數(shù)據(jù)庫(kù)的方法,使Java應(yīng)用程序具有訪問不同類型的數(shù)據(jù)庫(kù)的能力。

關(guān)鍵詞:Java;ODBC;JDBC;SQL;數(shù)據(jù)庫(kù)連接

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)31-7413-03

1 JDBC概述

最初Java并沒有訪問數(shù)據(jù)庫(kù)的能力,1996年Sun推出了JDBC,將Java的應(yīng)用范圍擴(kuò)展到了數(shù)據(jù)庫(kù)領(lǐng)域,使Java應(yīng)用程序具有訪問不同類型數(shù)據(jù)庫(kù)的能力。

1.1 JDBC概念

JDBC是基于Java的,用于訪問關(guān)系數(shù)據(jù)庫(kù)的應(yīng)用程序編程接口(API),是對(duì)ODBC API的一種面向?qū)ο蟮姆庋b和重新設(shè)計(jì),Java應(yīng)用程序通過JDBC API與數(shù)據(jù)庫(kù)連接,而實(shí)際的動(dòng)作則由JDBC驅(qū)動(dòng)程序管理器(Driver Manager)通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行連接。JDBC作為一種數(shù)據(jù)庫(kù)連接和訪問標(biāo)準(zhǔn),由Java語(yǔ)言和數(shù)據(jù)庫(kù)開發(fā)商共同遵守并執(zhí)行。

Java.sql提供了cd7f3f1eac43f3d2b1934c48d242dfdb5a5afa6c27ae993f575bdb34a3c3964b多種JDBC API,以下是最常見的幾種:

1)Connection接口:代表與數(shù)據(jù)庫(kù)的連接.通過它調(diào)用createStatement能夠創(chuàng)建Statement對(duì)象。

2)Statement接口:用來(lái)執(zhí)行SQL語(yǔ)句并返回結(jié)果記錄集。

3) ResultSet接口:SQL語(yǔ)句執(zhí)行后的結(jié)果記錄集,必須逐行訪問數(shù)據(jù)行,但是可以用任何順序訪問列。

1.2 JDBC驅(qū)動(dòng)程序類型

JDBC提供了以下四種類型的驅(qū)動(dòng)程序,其中前兩種基于已有的驅(qū)動(dòng)程序,部分由Java實(shí)現(xiàn),后兩種是新設(shè)計(jì)的,全部由Java實(shí)現(xiàn)。

1)JDBC-ODBC 橋驅(qū)動(dòng)程序

通過把JDBC方法翻譯成ODBC函數(shù)調(diào)用,使Java應(yīng)用程序可以通過ODBC驅(qū)動(dòng)程序訪問數(shù)據(jù)庫(kù)。

2)本地庫(kù)Java實(shí)現(xiàn)驅(qū)動(dòng)程序

與橋驅(qū)動(dòng)程序相似,本地庫(kù)Java實(shí)現(xiàn)驅(qū)動(dòng)程序是建立在已有專用驅(qū)動(dòng)程序基礎(chǔ)上,將JDBC方法翻譯成本地已有的專用驅(qū)動(dòng)程序。

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

這是一種全新結(jié)構(gòu)的驅(qū)動(dòng)程序,它以“中間件”形式出現(xiàn),由中間件組件把JDBC方法翻譯成數(shù)據(jù)庫(kù)客戶端請(qǐng)求,再向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送請(qǐng)求,中間件組件和數(shù)據(jù)庫(kù)的客戶端通常位于中間層服務(wù)器上。

4)數(shù)據(jù)庫(kù)協(xié)議驅(qū)動(dòng)程序

這也是一種全新結(jié)構(gòu)的驅(qū)動(dòng)程序,它的特點(diǎn)是應(yīng)用程序直接與數(shù)據(jù)庫(kù)服務(wù)器端通信。這種方式需要數(shù)據(jù)庫(kù)開發(fā)商的強(qiáng)力支持,提供基于特定數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)插件,實(shí)現(xiàn)針對(duì)特定數(shù)據(jù)庫(kù)的通信協(xié)議,使JDBC驅(qū)動(dòng)程序通過網(wǎng)絡(luò)插件直接與數(shù)據(jù)庫(kù)服務(wù)器通信。

2 使用JDBC訪問數(shù)據(jù)庫(kù)

使用JDBC訪問數(shù)據(jù)庫(kù)一般要經(jīng)過:裝入合適的驅(qū)動(dòng)程序,創(chuàng)建一個(gè)連接對(duì)象,生成并執(zhí)行一個(gè)SQL語(yǔ)句,處理查詢結(jié)果集關(guān)閉連接這幾個(gè)步驟。

2.1 加載驅(qū)動(dòng)程序并建立連接

DriverManager類是JDBC的管理層,它工作于用戶和驅(qū)動(dòng)程序之間,它跟蹤可用的驅(qū)動(dòng)程序,并在數(shù)據(jù)庫(kù)和相應(yīng)驅(qū)動(dòng)程序間建立連接。DriverManager類包含各Driver類,所有的Driver類都必須包含一個(gè)靜態(tài)部分。它創(chuàng)建該類的實(shí)例,然后在加載該實(shí)例時(shí),DriverManager類進(jìn)行注冊(cè)。注冊(cè)方式有兩種:

1)通過調(diào)用方法Class.forName:這將直接加載驅(qū)動(dòng)程序類。由于這與外部設(shè)置無(wú)關(guān),故推薦使用這種加載方法:Class.forName(“驅(qū)動(dòng)名”)。

2)通過將驅(qū)動(dòng)程序添加到j(luò)ava.lang.system的屬性jdbc.drivers中,這是一個(gè)由DriverManager類加載的驅(qū)動(dòng)程序類名列表。

2.2 創(chuàng)建Connection對(duì)象建立與數(shù)據(jù)庫(kù)的連接

包头市| 长宁县| 通榆县| 克什克腾旗| 逊克县| 修文县| 临清市| 清河县| 古田县| 茂名市| 玉林市| 西乡县| 威信县| 阿克苏市| 南平市| 万载县| 定陶县| 哈尔滨市| 和林格尔县| 巩义市| 讷河市| 邯郸县| 定安县| 永清县| 扎囊县| 佛冈县| 建平县| 仁怀市| 唐山市| 渝中区| 无为县| 长垣县| 梓潼县| 凤城市| 卫辉市| 达孜县| 临夏市| 秀山| 花莲县| 鄂温| 汶川县|