在與數據庫的連接中我們選用的后端數據庫是微軟的ACCESS數據庫,由于本項目是面向小型社區的社區數據中心服務器,所以選用小型的數據庫。由于JAVA的可移植性可以將服務器用在LINUX平臺上,這時可以用本服務器提供的數據庫配置程序連接到MySql等基于LINUX的小型數據庫。
我們應用JDBC完成與數據庫的連接。Java的一項出色能力是構建與平臺無關的客戶機/服務器數據庫應用。在Java 1.1中,通過Java數據庫連接(JDBC)實現了與各家公司之間的數據庫的互連。數據庫最主要的一個問題就是各家公司之間的規格大戰。確實存在一種"標準"數據庫語言,即"結構查詢語言"(SQL-92),但各公司為了表示自己的與眾不同對標準都有一些微小的改動。所以通常必須確切知道自己要和哪家數據庫公司打交道,否則極易出問題,盡管存在所謂的"標準"。JDBC是面向"與平臺無關"設計的,所以在編程的時候不必關心自己要使用的是什么數據庫產品。和Java中的許多API一樣,JDBC也做到了盡量的簡化。我們發出的方法調用對應于從數據庫收集數據時想當然的做法:同數據庫連接,創建一個語句并執行查詢,然后處理結果集,無論與我們打交道的是哪家數據庫廠商的產品。
JDBC的使用:
為實現這一"與平臺無關"的特點,JDBC為我們提供了一個"驅動程序管理器",它能動態維護數據庫查詢所需的所有驅動程序對象。所以假如要連接由數家公司開發的不同種類的數據庫,就需要每個數據庫的單獨的驅動程序對象。驅動程序對象會在裝載時由"驅動程序管理器"自動注冊,并可用Class.forName()強行裝載。
為打開一個數據庫,必須創建一個"數據庫URL",它要指定下述三方面的內容:
(1) 用"jdbc"指出要使用JDBC。
(2) "子協議":驅動程序的名字或者一種數據庫連接機制的名稱。由于JDBC的設計從ODBC吸收了許多靈感,所以可以選用的第一種子協議就是"jdbc-odbc橋",它用"odbc"關鍵字即可指定。
(3) 數據庫標識符:隨使用的數據庫驅動程序的不同而變化,但一般都提供了一個比較符合邏輯的名稱,由數據庫管理軟件映射(對應)到保存了數據表的一個物理目錄。為使自己的數據庫標識符具有任何含義,必須用自己的數據庫管理軟件為自己喜歡的名字注冊(注冊的具體過程又隨運行平臺的不同而變化)。
所有這些信息都統一編譯到一個字串里,即"數據庫URL"。本例中,我們想通過ODBC子協議同一個標識為"vod"的數據庫連接,相應的數據庫URL設為:
String dbUrl = "jdbc:odbc:vod"
同樣如果通過一個網絡連接,數據庫URL也需要包含對遠程機器進行標識的信息。
JDBC的連接方式:
首先,JDBC中在DriverManager中對數據庫數據庫驅動程序進行登記。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
裝載JDBC- ODBC橋驅動程序,這樣做是為了讓DriverManager可以找到數據庫驅動程序。然后利用DriverManager打開與數據庫的連接。
Mycon=DriverManager.getConnection(dbUrl);
本語句的作用是,確定與由dbUrl指定的數據庫的連接。DriverManager將從其中登記的驅動程序中尋找最適當的驅動程序。返回的Mycon代表了與特定的數據庫之間的連接?!?/SPAN>
Mysta=Mycon.createStatement();
生成可以執行無參數SQL語句的Statement接口。 然后就可以在Mysta中用executeQuery()函數執行SQL語句從返回的ResultSet獲取執行結果。
新聞熱點
疑難解答