官术网_书友最值得收藏!

第7章 JDBC技術詳解

一般來講,現在的Java Web開發已經很少直接使用JDBC進行數據庫的相關操作了,一般都是自己對JDBC進行封裝,或者直接使用開源的ORM產品,但萬變不離其宗,最終它們都離不開對JDBC的操作,因此了解JDBC的原理還是非常必要的。

本章首先介紹JDBC的基礎知識,然后通過示例講解如何使用JDBC操作數據庫,最后講解事務管理和數據庫連接池的相關知識。

7.1 JDBC概述

JDBC(Java Database Connectivity,數據庫連接)是用來執行SQL的Java API。開發人員可以使用這些標準API來連接和操作數據庫,實現數據庫應用程序的開發。

7.1.1 JDBC相關概念

JDBC是Java的規范,考慮到規范的適用性,JDBC只提供了最直接的數據庫操作規范。在java.sql包中的類,是Java應用程序用于連接數據庫的標準方法。

JDBC有以下3種產品組件。

● JDBC驅動程序管理器:是JDBC體系結構的支柱。它實際上很小,也很簡單,其主要作用是把Java應用程序連接到正確的JDBC驅動程序上,然后退出。

● JDBC驅動程序測試工具包:為JDBC驅動程序運行開發人員開發的程序提供一定的可信度。只有通過JDBC驅動程序測試的驅動程序才被認為是符合JDBC標準的。

● JDBC-ODBC橋:ODBC驅動程序可被用做JDBC驅動程序。它的實現為JDBC的快速發展提供了一條途徑,其長遠目標是提供一種訪問某些不常見的DBMS的方法。

目前比較常見的JDBC驅動程序分為以下4類。

● JDBC-ODBC橋+ODBC驅動程序:JDBC橋產品利用ODBC驅動程序提供JDBC訪問。這種類型的驅動程序最適合于企業網,或者是用Java編寫的三層結構的應用程序服務器。

● 本地API:這種類型的驅動程序把客戶機API上的JDBC調用轉換為Oracle、Sybase、Informix、DB2或其他DBMS的調用。

● JDBC網絡純Java驅動程序:這種類型驅動程序將JDBC轉換為與DBMS無關的網絡協議,之后這種協議又被某個服務器轉換為一種DBMS協議。這種網絡服務器中間件能夠將它的純Java客戶機連接到多種不同的數據庫上,所用的具體協議取決于提供者。這是最靈活的JDBC驅動程序,有可能所有這種解決方案的提供者都提供適合于Intranet使用的產品。

● 本地協議純Java驅動程序:這種類型的驅動程序將JDBC調用直接轉換為DBMS所使用的網絡協議,這將允許從客戶機上直接調用DBMS服務器,是訪問Intranet的一個很實用的解決方法。由于許多這樣的協議都是專用的,因此數據庫提供者自己是主要來源。

JDBC驅動程序中的第一種方式中出現了ODBC驅動程序,什么是ODBC驅動程序呢?ODBC(Openning DataBase Connection,開放式數據庫互連)驅動程序是由微軟設計和開發的一種通用、標準的操作數據庫的API,可以說其是一種數據庫系統應用程序的接口規范,該驅動程序的工作原理如圖7.1所示。

圖7.1 ODBC的工作原理

ODBC驅動程序的作用,是把應用程序中操作數據庫的指令,轉換成某一種數據庫相關的數據庫指令,然后由具體相關的驅動程序傳送給數據庫。在開發的時候,只需要面對統一格式的ODBC數據源即可,而不必針對各種不同數據庫做各種不同設計。

綜上所述,JDBC的功能如下:

● 提供多樣化的數據庫連接方法。

● 為各種不同的數據庫提供統一的操作界面。

7.1.2 配置JDBC驅動程序

MySQL數據庫的JDBC驅動程序稱為Connector/J,目前最新的版本為Connector/J 5.1.17。由于在3.1.7小節已經詳細介紹過關于該驅動程序的下載,所以該小節將介紹關于數據庫驅動程序的配置方式。即如何在MyEclipse工具中添加、修改和刪除該驅動程序的JRE包?具體步驟如下:

01 首先在MyEclipse的運行界面中選擇“Window>Preferences”命令,出現如圖7.2所示的對話框。

圖7.2 “Preferences”對話框

02 在“Preferences”對話框的左側選擇“Java>Build Path”選項,出現如圖7.3所示的列表。

圖7.3 User Libraries列表

03 在“User Libraries”界面中單擊“New”按鈕,在出現的如圖7.4所示的對話框中輸入名字,單擊“確定”按鈕就會新建一個User Libraries。

圖7.4 新建User Libraries

注意:不要選中復選框,否則該Libraries會成為系統默認的Libraries。

接著在User Libraries列表中選擇“MySQL”選項,單擊“Add JARs”按鈕把MySQL驅動程序(第3章下載的MySQL驅動程序Connector/J)添加進來,最后效果如圖7.5所示。

圖7.5 添加JAR包

如果在項目中想使用該JAR包,可以用鼠標右鍵單擊該項目,在彈出的快捷菜單中選擇如圖7.6所示的命令,這時就會出現如圖7.7所示的對話框。

圖7.6 “Add Libraries”命令

圖7.7 “Add Libraries”對話框

在“Add Libraries”對話框中,選擇“User Library”選項,單擊“Next”按鈕就會進入為“User Librarie”選擇具體內容的對話框(如圖7.8所示),選擇剛添加的“MySQL”,單擊“Finish”按鈕,就把MySQL驅動程序添加到了項目中。

圖7.8 選擇“MySQL”

當MySQL驅動程序添加到具體項目中后,在該項目中即可使用驅動程序提供的API,這樣就可以連接和操作數據庫了。

主站蜘蛛池模板: 广昌县| 土默特右旗| 濉溪县| 镇原县| 兴安盟| 措勤县| 金门县| 灵台县| 金坛市| 通州区| 甘肃省| 昌邑市| 彰化市| 利川市| 尼勒克县| 大化| 绥滨县| 宣威市| 甘南县| 荆门市| 济南市| 淮阳县| 夏河县| 林西县| 阳原县| 清远市| 正定县| 保靖县| 白朗县| 仁化县| 甘孜县| 灵石县| 德化县| 宜兴市| 云和县| 沅陵县| 武功县| 托克逊县| 洪洞县| 咸宁市| 四平市|