第一個(gè)JDBC程序
轉(zhuǎn)自:http://www.javaresearch.org/article/9581.htm
本篇通過一個(gè)簡單的數(shù)據(jù)庫應(yīng)用的例子告訴你如何編寫你的第一個(gè)JDBC程序。
一、JDBC簡介
相信在微軟平臺(tái)上開發(fā)過應(yīng)用程序的朋友一定對(duì)ODBC不會(huì)陌生,ODBC是一種用C語言開發(fā)的API,通過它,你可以訪問不同數(shù)據(jù)庫平臺(tái)上的數(shù)據(jù),目前ODBC已經(jīng)成為Windows環(huán)境下訪問數(shù)據(jù)庫的事實(shí)上的標(biāo)準(zhǔn),也是一種基本方法。但是,由于ODBC的設(shè)計(jì)過于復(fù)雜,造成它很難對(duì)外擴(kuò)展。JDBC是SUN開發(fā)的一種用來進(jìn)行數(shù)據(jù)庫訪問的API,它借鑒了ODBC的的某些特點(diǎn)而沒有它的復(fù)雜性,給數(shù)據(jù)庫開發(fā)帶來了極大的便利性。同時(shí),JDBC還提供了對(duì)現(xiàn)存數(shù)據(jù)庫API(比如ODBC)的調(diào)用,使得Java應(yīng)用程序可以訪問任何支持ODBC的數(shù)據(jù)庫管理系統(tǒng)。
二、開始
下面這個(gè)簡單的程序演示了如何在java中連接、打開和查詢一個(gè)數(shù)據(jù)庫。本例中以mysql為數(shù)據(jù)庫平臺(tái)。
- import java.sql.*; ;
- public class JDBCDemo{
- public static void main(String[] args) {
- String driver="com.mysql.jdbc.Driver"; //驅(qū)動(dòng)程序
- String url="localhost/jive"; //數(shù)據(jù)庫服務(wù)器地址及數(shù)據(jù)庫名
- Connection con=null;
- Statement st;
- ResultSet rs;
- try { //(1)
- Class.forName(driver).newInstance();
- } catch (Exception ex) {
- // 在這進(jìn)行錯(cuò)誤處理
- }
- try{ //(2)
- con=DriverManager.getConnection(url,"test","test");
- st=con.createStatement();
- rs=st.executeQuery("Select * from jiveForums");
- while(rs.next()){ //查詢結(jié)果處理
- System.out.println("ID="+rs.getString(1));
- System.out.println("Name="+rs.getString(2));
- }
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- if(con==null)return;
- try{ //(3)
- con.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- }
程序的第一句導(dǎo)入我們需要用到的JDBC API,為了方便,我以*來導(dǎo)入在sql中定義的所有包,你也可以只指定你用到的包,比如:java.sql.Connection等。
在主函數(shù)中定義的兩個(gè)字符串分別是驅(qū)動(dòng)程序名和數(shù)據(jù)庫服務(wù)器地址及數(shù)據(jù)庫名。我在這里使用的是mysql數(shù)據(jù)庫,所以我用的是mysql驅(qū)動(dòng)程序,不同的數(shù)據(jù)庫用不同的驅(qū)動(dòng)程序,如果你用的不是mysql,請(qǐng)?zhí)鎿Q此行。
服務(wù)器地址是你安裝數(shù)據(jù)庫的主機(jī)的IP,如果在本機(jī),你也可以用"localhost"來連接。數(shù)據(jù)庫名是你已經(jīng)在數(shù)據(jù)庫系統(tǒng)中建立過的,這里是test.接著在標(biāo)識(shí)為(1)的try塊中裝載驅(qū)動(dòng)程序。這一步是為驅(qū)動(dòng)程序來裝載自己,然后讓驅(qū)動(dòng)程序管理器來進(jìn)行管理,在(2)的try塊中,從驅(qū)動(dòng)程序管理器中取得一個(gè)連接,第一個(gè)引數(shù)已經(jīng)說過,第二個(gè)引數(shù)是數(shù)據(jù)庫中的用戶名,最后一個(gè)是口令。接著創(chuàng)建一個(gè)Statement對(duì)象來執(zhí)行查詢,查詢結(jié)果將返回一個(gè)記錄集,在這里就是rs。在接下來的while循環(huán)中來處理查詢結(jié)果,在這只是簡單的打印出來。
在finally塊中,將執(zhí)行連接的關(guān)閉,如果在前面沒有正確得到一個(gè)連接,將直接返回。
好了,修改這個(gè)程序以適應(yīng)你的平臺(tái),然后執(zhí)行。怎么樣連接數(shù)據(jù)庫就這么簡單。
三、注意事項(xiàng)
1 在上面這個(gè)程序中,請(qǐng)注意不要寫錯(cuò)驅(qū)動(dòng)程序名,如果出現(xiàn)找不到驅(qū)動(dòng)程序的錯(cuò)誤,請(qǐng)檢查你的驅(qū)動(dòng)程序是否在類搜索路徑即CLASSPATH中,
一般你下載的驅(qū)動(dòng)程序可能是以.jar為擴(kuò)展名,那么你要把此文件包含在CLASSPATH中,比如我用的mysql.jar,那么在claspath中有:c:"driver"mysql.jar。
2 數(shù)據(jù)庫服務(wù)器IP要填準(zhǔn)確,如果在本機(jī),請(qǐng)直接使用localhost,用戶名和口令是你用來操作數(shù)據(jù)庫的用戶和口令,不要認(rèn)為是操作系統(tǒng)的用戶名和口令。
3 最后要注意,用完一個(gè)連接后要及時(shí)關(guān)閉,養(yǎng)成好的習(xí)慣。
posted on 2008-06-23 22:26 edog 閱讀(229) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫