最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

將Java程序與數(shù)據(jù)庫(kù)進(jìn)行連接的操作方法

 更新時(shí)間:2015年10月10日 16:48:51   投稿:goldensun  
這篇文章主要介紹了將Java程序與數(shù)據(jù)庫(kù)進(jìn)行連接的操作方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

一個(gè)網(wǎng)絡(luò)關(guān)系數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)是一個(gè)三層次結(jié)構(gòu)??蛻魴C(jī)與服務(wù)器采用網(wǎng)絡(luò)連接,客戶機(jī)端應(yīng)用程序按通信協(xié)議與服務(wù)器端的數(shù)據(jù)庫(kù)程序通信;數(shù)據(jù)庫(kù)服務(wù)程序通過(guò)SQL命令與數(shù)據(jù)庫(kù)管理系統(tǒng)通信。

Java程序與數(shù)據(jù)庫(kù)連接方法有兩種。一種是使用JDBC-ODBC橋接器與數(shù)據(jù)庫(kù)連接,一種是用純Java的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)連接。
使用JDBC-ODBC 橋接器與數(shù)據(jù)庫(kù)連接

Java程序使用JDBC-ODBC 橋接器與數(shù)據(jù)庫(kù)連接,Java程序與數(shù)據(jù)庫(kù)通信的過(guò)程是:
先由數(shù)據(jù)庫(kù)應(yīng)用程序向ODBC驅(qū)動(dòng)管理器發(fā)出API調(diào)用,ODBC驅(qū)動(dòng)管理器將這個(gè)調(diào)用轉(zhuǎn)換成向數(shù)據(jù)庫(kù)管理系統(tǒng)的ODBC驅(qū)動(dòng)程序調(diào)用,數(shù)據(jù)庫(kù)管理系統(tǒng)又將這個(gè)調(diào)用轉(zhuǎn)換成對(duì)操作系統(tǒng)的數(shù)據(jù)輸入/輸出調(diào)用。最后,操作系統(tǒng)從數(shù)據(jù)庫(kù)中得到實(shí)際數(shù)據(jù)逐級(jí)返回。

數(shù)據(jù)庫(kù)編程首先要設(shè)置數(shù)據(jù)源,在ODBC中設(shè)置數(shù)據(jù)源的步驟如下:
打開Windows控制面板中的管理工具。對(duì)于windows XP:選擇“性能維護(hù)”>>“管理工具”>>“數(shù)據(jù)源(ODBC)”; 對(duì)于windows 2000:選擇“管理工具”>>“數(shù)據(jù)源”。
打開“數(shù)據(jù)源”。出現(xiàn)ODBC數(shù)據(jù)源管理器對(duì)話框,顯示現(xiàn)有的數(shù)據(jù)源名稱。
選擇“用戶DSN”,單擊“添加”按鈕,出現(xiàn)安裝數(shù)據(jù)源驅(qū)動(dòng)程序?qū)υ捒颉ccess(*.mdb)數(shù)據(jù)源,單擊“完成”按鈕,出現(xiàn)“創(chuàng)建數(shù)據(jù)源對(duì)話框,鍵入需要?jiǎng)?chuàng)建的數(shù)據(jù)源名,并為創(chuàng)建的數(shù)據(jù)源選擇一個(gè)數(shù)據(jù)庫(kù)表。
單擊數(shù)據(jù)庫(kù)區(qū)域的“選擇”按鈕,選擇需要的數(shù)據(jù)庫(kù)表。當(dāng)需要為數(shù)據(jù)源授權(quán)訪問(wèn)級(jí)別時(shí),單擊“高級(jí)”按鈕。設(shè)置登錄名和密碼后,單擊“確定”按鈕,完成Access數(shù)據(jù)庫(kù)在ODBC管理器中的配置。
如果還沒(méi)有數(shù)據(jù)庫(kù)表,則需創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表。

數(shù)據(jù)源就是數(shù)據(jù)庫(kù),在設(shè)定了數(shù)據(jù)源的基礎(chǔ)上,Java程序要訪問(wèn)數(shù)據(jù)庫(kù)表,還要建立JDBC-ODBC橋接器,讓程序與數(shù)據(jù)庫(kù)連接。以后,程序就可向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,處理數(shù)據(jù)庫(kù)返回的結(jié)果。Java數(shù)據(jù)庫(kù)連接JDBC(Java DataBase Connectivity)由一組用Java語(yǔ)言編寫的類和接口組成,JDBC是Java程序與數(shù)據(jù)庫(kù)連接API。它能做以下三件事情:與某個(gè)數(shù)據(jù)庫(kù)建立連接、向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句和處理數(shù)據(jù)庫(kù)返回的結(jié)果。

調(diào)用類方法Class.forName(String s)能建立JDBC-ODBC橋接器。例如,代碼:

  try{
    Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
  }catch(Exception e){}


為Java程序加載了驅(qū)動(dòng)程序。
【例】說(shuō)明與數(shù)據(jù)庫(kù)連接的方法connectByJdbcOdbc(),該方法按給定的數(shù)據(jù)庫(kù)URL、用戶名和密碼連接數(shù)據(jù)庫(kù),如果連接成功,方法返回連接對(duì)象,連接不成功,則返回空。

public static connection connectByjdbcOdbc(String url, String username, String password){
  Connection con = null;
  try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  //加載ODBC驅(qū)動(dòng)程序
  }
  catch (Exception e){
    e.printStackTrace();
    return null; //連接失敗
  }
  try{
    con = DriverManager.getConnection(url, username, password);
  }
  catch (SQLExceotuib e){
    e.printStackTrace();
    return null; //連接不成功
  }
  return con; //連接成功
}

以下代碼是對(duì)connectByJdbcOdbc()方法的一個(gè)調(diào)用,數(shù)據(jù)庫(kù)連接成功,彈出數(shù)據(jù)庫(kù)連接成功信息窗,否則彈出數(shù)據(jù)庫(kù)連接不成功信息窗。

if ((con = connectByJdbcOdbc("jdbc:odbc:redsun", "xia", "1234")) != null){
  JoptionPane.showMessageDialog(null, "數(shù)據(jù)庫(kù)連接成功");
  try{
    con.close();
    con = null;
  }
  catch (SOLException e){}
}
else
  JOptionPane.showMessageDialog(null, "數(shù)據(jù)庫(kù)連接失敗");

用純Java的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)連接

Java程序也可以用純Java的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)連接。這種方法應(yīng)用較廣泛,但是需要下載相應(yīng)的驅(qū)動(dòng)程序包,因?yàn)椴煌臄?shù)據(jù)庫(kù)的連接代碼可能不同,連接不同的數(shù)據(jù)庫(kù),加載的驅(qū)動(dòng)程序也可能不同。例如,連接SQLServer的驅(qū)動(dòng)程序在www.msdn.com網(wǎng)站下載,有3個(gè)包:msbase.jar,mssqlserver.jar和msutil.jar,并要求將這3個(gè)包放在jdk\jre\lib\ext\目錄下,或在CLASSPATH中設(shè)置其放置位置。

使用純Java的JDBC驅(qū)動(dòng)程序?qū)崿F(xiàn)與數(shù)據(jù)庫(kù)連接的過(guò)程如下:
加載驅(qū)動(dòng)程序。有兩種加載驅(qū)動(dòng)程序的方式:
一各是將驅(qū)動(dòng)程序添加到j(luò)ava.lang.System的屬性jdbc.drivers中。這是一個(gè)DriverManager類加載驅(qū)動(dòng)程序類名的列表,表元用冒號(hào)分隔。
另一種方式是從相關(guān)的網(wǎng)站下載驅(qū)動(dòng)程序后,在程序中利用Class.forName()方法加載指定的驅(qū)動(dòng)程序。例如:

  Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);


創(chuàng)建指定數(shù)據(jù)庫(kù)的URL。數(shù)據(jù)庫(kù)的URL對(duì)象類似網(wǎng)絡(luò)的統(tǒng)一資源定位符,其格式是:

  jdbc:subProtocol:subName://hostname:port:Databasename=XXX


其中,subprotocol是某種驅(qū)動(dòng)程序支持的數(shù)據(jù)庫(kù)連接機(jī)制; subName是當(dāng)前連接機(jī)制下的具體名稱;hostName是主機(jī)名;port是相應(yīng)的連接端口;DatabaseName是要連接的數(shù)據(jù)庫(kù)名稱。例如,以下代碼可以是一個(gè)數(shù)據(jù)庫(kù)的URL:

  jdbc:Microsoft:sqlserver://localhost:1433;Databasename=ksinfo


該數(shù)據(jù)庫(kù)的URL說(shuō)明利用miscrosoft提供的機(jī)制,用sqlserve驅(qū)動(dòng),通過(guò)1433端口訪問(wèn)本機(jī)上的ksInfo數(shù)據(jù)庫(kù)。
建立連接。驅(qū)動(dòng)程序管理器(DriverManager)的方法getConnection()建立連接。

【例】說(shuō)明與數(shù)據(jù)庫(kù)連接的靜態(tài)方法connectByJdbc(),該方法按給定的數(shù)據(jù)庫(kù)URL、用戶名和密碼連接數(shù)據(jù)庫(kù),如果連接成功,方法返回true,連接不成功,則返回false。

public static Connection conectByJdbc(String url, String username, String password){
  Connection con = null;
  try{
    Class.forName( //加載特定的驅(qū)動(dòng)程序
    "com.microsoft.jdbc.sqlserver.SQLServerDriver");
  }
  catch (Exception e){
    e.printStackTrace();
    return null; //連接失敗
  }
  try{
    con = DriverManage.getConnection(url, username, password);
  }
  catch (SQLException e){
    e.printStackTrace();
    return null; //連接失敗
  }
  return con; //連接成功
}

相關(guān)文章

最新評(píng)論

马边| 共和县| 商河县| 青岛市| 静宁县| 平邑县| 墨竹工卡县| 凤翔县| 乳源| 锡林郭勒盟| 全椒县| 新郑市| 滨海县| 五指山市| 凤庆县| 灵台县| 冕宁县| 沛县| 德阳市| 辽中县| 应用必备| 固阳县| 调兵山市| 曲沃县| 庐江县| 四川省| 阿瓦提县| 新蔡县| 嘉禾县| 青冈县| 安多县| 全州县| 金门县| 石阡县| 汽车| 伊宁县| 清苑县| 云南省| 盐山县| 锦州市| 龙州县|