第07章-JDBC數(shù)據(jù)庫訪問【PPT課件】_第1頁
第07章-JDBC數(shù)據(jù)庫訪問【PPT課件】_第2頁
第07章-JDBC數(shù)據(jù)庫訪問【PPT課件】_第3頁
第07章-JDBC數(shù)據(jù)庫訪問【PPT課件】_第4頁
第07章-JDBC數(shù)據(jù)庫訪問【PPT課件】_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第 7 章 本章內(nèi)容 傳統(tǒng)的數(shù)據(jù)庫連接方法 術(shù)概述 由 稱為 為 1. 建立與數(shù)據(jù)庫的連接 2. 發(fā)送 3. 處理數(shù)據(jù)庫操作結(jié)果 據(jù)庫訪問的兩層和三層模型 圖 7 也稱作為客戶機(jī) 即C/ 用戶的 據(jù)庫訪問的兩層和三層模型 圖 7 也稱作為客戶機(jī) 數(shù)據(jù)庫服務(wù)器結(jié)構(gòu) , 即 B/ 客戶機(jī)通過 該請求首先傳送到應(yīng)用服務(wù)器 。 應(yīng)用服務(wù)器再通過 由數(shù)據(jù)庫服務(wù)器處理 然后將結(jié)果返回給應(yīng)用服務(wù)器 。 動程序 1. 通過 2. 通過驅(qū)動程序與具體的數(shù)據(jù)庫連接 , 3. 訪問數(shù)據(jù)庫 。 動程序 數(shù)據(jù)庫驅(qū)動程序 完成從 在 可以使用的數(shù)據(jù)庫驅(qū)動程序主要有 4種類型 , 常用的有下面兩種: 1. 2. 專為某種數(shù)據(jù)庫而編寫的驅(qū)動程序 。 1. 驅(qū)動程序 開放數(shù)據(jù)庫連接 , 是 通過該橋驅(qū)動程序與 就可與各種數(shù)據(jù)庫系統(tǒng)進(jìn)行通信 。 但是 , 不推薦 使用這種方法與數(shù)據(jù)庫連接 , 只適用于不能獲得數(shù)據(jù)庫專用的 或在開發(fā)階段使用這種方法 。 2. 專為某種數(shù)據(jù)庫而編寫的驅(qū)動程序 由于 數(shù)據(jù)庫廠商專門開發(fā)針對 這類驅(qū)動程序大多是用純 推薦使用數(shù)據(jù)庫廠商專門為 使用專用驅(qū)動程序連接數(shù)據(jù)庫 , 必須安裝驅(qū)動程序 。不同的數(shù)據(jù)庫系統(tǒng)提供了不同的 可以到相關(guān)網(wǎng)站下載 。 安裝 如 果 使 用 據(jù) 庫 , 可 以 到, 下載后是一個打包文件 ( 如 。 在開發(fā) 需要將驅(qū)動程序打包文件復(fù)制到 或 傳統(tǒng)的數(shù)據(jù)庫連接方法 其中包括 主要的類和接口 : 1. 2. 3. 4. 5. 6. 7. 8. 加載驅(qū)動程序 訪問數(shù)據(jù)庫 , 首先要加載驅(qū)動程序 。 驅(qū)動程序是實現(xiàn) 一般由數(shù)據(jù)庫廠商提供 。 加載 使用 靜態(tài)方法: 參數(shù) 整的驅(qū)動程序類的名稱 。 如果找不到驅(qū)動程序?qū)伋?返回一個 對于不同的數(shù)據(jù)庫 , 驅(qū)動程序的類名是不同的 。如果使用 則使用 J D K 自 帶 的 驅(qū) 動 程 序 , 名 稱 為“ 。 要加載該驅(qū)動程序,可使用下面的語句: ; 加載驅(qū)動程序 如果要加載數(shù)據(jù)庫廠商提供的專門的驅(qū)動程序 ,應(yīng)該給出專門的驅(qū)動程序名 。 要加載 ); 加載驅(qū)動程序 建立連接對象 驅(qū)動程序加載成功后 , 使用 建立數(shù)據(jù)庫連接對象 。 調(diào)用 : 用來標(biāo)識數(shù)據(jù)源 ,驅(qū)動程序就可以與它建立一個連接 。 包括三個部分 , 中間用冒號分隔 。 示數(shù)據(jù)庫標(biāo)識符,該部分內(nèi)容隨數(shù)據(jù)庫驅(qū)動程序的不同而不同。 如果通過 個部分組成一個整體字符串就是 “ ; 如果使用數(shù)據(jù)庫廠商提供的專門的驅(qū)動程序連接數(shù)據(jù)庫 。 要連接 : 5432為數(shù)據(jù)庫服務(wù)器的端口號, 下面代碼說明了如何以 數(shù)據(jù)庫名為 用戶名為 口令為 “ ” ; , ; 常用的數(shù)據(jù)庫 創(chuàng)建語句對象 通過 對于不同的語句對象 , 可以使用 1. 創(chuàng)建一個簡單的 S t a t e m e n t 對象 , 應(yīng)該使用, 2. 創(chuàng)建 P r e p a r e d S t a t e m e n t 對象 , 應(yīng)該 使用, 3. 創(chuàng)建 應(yīng)該使用 。 下面的代碼將創(chuàng)建一個簡單的 ; 獲得 執(zhí)行 對于查詢語句 , 調(diào)用 回 再調(diào)用 可以對查詢結(jié)果的每行進(jìn)行處理 。 ; ; ) )+“ t” ) ; 獲得 對于 對于 使用語句對象的成員方法: 該方法返回值為整數(shù),用來指示被影響的行數(shù)。 關(guān)閉建立的對象 在 ) 當(dāng)這些對象使用完畢后 , 應(yīng)使用 關(guān)閉 。 前的最新版本是 在 通過兩個包提供: 提供基本的數(shù)據(jù)庫編程的類和接口 , 如驅(qū)動程序管理類創(chuàng)建數(shù)據(jù)庫連接 執(zhí)行 提供服務(wù)器端訪問和處理數(shù)據(jù)源的類和接口 , 如 實現(xiàn)數(shù)據(jù)源管理 、 行集管理以及連接池管理等 。 獲取 對象的 得到連接對象后 , 調(diào)用 創(chuàng)建 對象 , 以及在連接對象上完成各種操作 。 創(chuàng) 建 一 個 象 。 如 果 用 于 查 詢 , 調(diào)用返回的 不可更新的 創(chuàng)建一個 如果用于查詢 , 兩個參數(shù)決定 返回的 可更新的 創(chuàng)建一個 如果用于查詢 , 那么前兩個參數(shù)決定 返回的 可更新的 第三個參數(shù)決定可保持性 ( 。 一旦創(chuàng)建 用于向數(shù)據(jù)庫發(fā)送 實現(xiàn)對數(shù)據(jù)庫的查詢和更新操作等 。 1. 執(zhí)行查詢操作語句 2. 執(zhí)行非查詢操作語句 3. 釋放 . 執(zhí)行查詢語句 使用 用來執(zhí)行 參數(shù) 查詢結(jié)果以 一般稱為結(jié)果集對象 。在 2. 執(zhí)行非查詢語句 使用 執(zhí)行由字符串 可是 可是無返回值的 S Q 如 S Q L D D 返回值是更新的行數(shù) , 如果語句沒有返回 , 則返回值為 0。 2. 執(zhí)行非查詢語句 執(zhí)行可能有多個結(jié)果集的 如果語句執(zhí)行的第一個結(jié)果為 該方法返回 否則返回 用于在一個操作中發(fā)送多條 與 ) 釋放其占用的資源。 注意: 并不是在執(zhí)行了一條 t a t e m e n t 對象 , 可以用同一個 3. 釋放 表示 結(jié)果集一般是一個記錄表 , 包含多個記錄行 、 列標(biāo)題 。 注意: 1. 記錄行從 1開始 , 一個 2. 如果需要對結(jié)果集的每行進(jìn)行處理 , 需要移動結(jié)果集的 游標(biāo) (結(jié)果集的一個標(biāo)志或指針 )。 3. 對新產(chǎn)生的 游標(biāo)指向第一行的前面 , 可以調(diào)用 , 使游標(biāo)定位到下一條記錄 。 將游標(biāo)從當(dāng)前位置向下移動一行 。 注意: , 將使第一行成為當(dāng)前行 , 以后調(diào)用游標(biāo)依次向后移動 。 說明新行是有效的行 , 說明已無記錄 。 1. 檢索字段值 根據(jù)結(jié)果集列的數(shù)據(jù)類型不同 , 使用不同的獲得列值 。 例如若列值為字符型數(shù)據(jù) , 可以使用下列方法檢索列值: 返回結(jié)果集中 , 當(dāng)前行指定的列號或列名的列值 , 結(jié)果作為字符串返回 。 列在結(jié)果行中的序號 , 序號從 1開始 。 1. 檢索字段值 返回指定列的 返回指定列的 返回指定列的 返回指定列的 返回指定列的 1. 檢索字段值 2. 數(shù)據(jù)類型轉(zhuǎn)換 在 數(shù)據(jù)為從數(shù)據(jù)庫中查詢出的數(shù)據(jù) 。 調(diào)用 方法返回的是 實際上 , 調(diào)用 方法 , 就是把 數(shù)據(jù)類型轉(zhuǎn)換的問題 2. 數(shù)據(jù)類型轉(zhuǎn)換 可滾動與可更新的 可滾動的 結(jié)果集對象上 , 可以前后移動指針訪問結(jié)果集中的記錄 。 可更新的 但可以訪問結(jié)果集中的記錄 , 還可通過結(jié)果集對象更新數(shù)據(jù)庫 。 1. 可滾動的 要使用可滾動的 必須使用創(chuàng)建 如果 S t a t e m e n 兩個參數(shù)決定返回的 可更新的 參數(shù) 1. 使用 當(dāng)數(shù)據(jù)庫發(fā)生改變時 , 這些變化對結(jié)果集可見 。 2. 使用 當(dāng)數(shù)據(jù)庫發(fā)生改變時 , 這些變化對結(jié)果集不可見 。 3. 使用 1. 可滾動的 對于可滾動的結(jié)果集 , 標(biāo)向前移動一行 , 如果存在合法的行返回 否則返回 動游標(biāo)使其指向第一行 。 動游標(biāo)使其指向最后一行 。 動游標(biāo)使其指向指定的行 。 1. 可滾動的 當(dāng)前行為基準(zhǔn)相對移動游標(biāo)的指針, 為負(fù)值是向后移動。 回游標(biāo)是否指向第一行。 回游標(biāo)是否指向最后一行。 返回游標(biāo)所在當(dāng)前行的行號。 1. 可滾動的 . 可更新的 在 向前移動游標(biāo) 、 讀取每列數(shù)據(jù)值 。為了更新數(shù)據(jù) , 需要通過 要實現(xiàn)該功能 ,應(yīng)該創(chuàng)建一個可更新的 使用 創(chuàng)建 定第二個參數(shù)的值決定是否創(chuàng)建可更新的結(jié)果集。 該參數(shù)使用 1. 建一個只 。 讀的 不能更新表 。 2. 建一個可更新的 2. 可更新的 得到可更新的 調(diào)用適當(dāng)?shù)?更新指定的列值 。 對 于 每 種 數(shù) 據(jù) 類 型 , 定 義 了 相 應(yīng) 的: x) 用指定的整數(shù) 其中 x) 用指定的整數(shù) 其中2. 可更新的 x) 用指定的字符串 中 x) 用指定的字符串 中 2. 可更新的 通過可更新的 實現(xiàn)對表的插入 、刪除 、 修改 。 游標(biāo)移到插入行 。 要插入一行數(shù)據(jù)的步驟: 1. 使用 將游標(biāo)移到插入行 。 2. 當(dāng)游標(biāo)處于插入行時 , 調(diào)用 用相應(yīng)的數(shù)據(jù)修改每列的值 。 3. 完成新行數(shù)據(jù)修改之后 , 調(diào)用 將新行插入結(jié)果集 。 2. 可更新的 入一行數(shù)據(jù) 。 在調(diào)用該方法之前 , 插入行所有列都必須給定一個值 。 調(diào)用 之后 , 這個 這時 , 可以插入另外一行數(shù)據(jù) , 或者移回到剛才 當(dāng)前行位置 ) 。 回到當(dāng)前行 。 也可在調(diào)用 之前 , 通過調(diào)用取消插入 。 2. 可更新的 結(jié)果集中刪除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論