freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

動(dòng)態(tài)網(wǎng)頁技術(shù)ppt課件(2)-資料下載頁

2025-05-02 12:08本頁面
  

【正文】 應(yīng)商實(shí)現(xiàn) Connection 連接對(duì)象,用于與數(shù)據(jù)庫取得連接 Statement 語句對(duì)象,用于執(zhí)行 SQL語句,并將數(shù)據(jù)檢索到結(jié)果集( ResultSet)對(duì)象中 ResultSet 結(jié)果集對(duì)象,包含執(zhí)行 SQL語句后返回的數(shù)據(jù)的集合 SQLException 數(shù)據(jù)庫異常類,是其它 JDBC異常類的根類,絕大部分對(duì)數(shù)據(jù)庫進(jìn)行操作的方法都有可能拋出該異常 訪問數(shù)據(jù)庫的步驟 Connection DriverManager Statement ResultSet 加載 JDBC驅(qū)動(dòng)程序 創(chuàng)建數(shù)據(jù)庫連接,生成 Connection對(duì)象 創(chuàng)建 Statement對(duì)象,執(zhí)行 SQL語句 使用 ResultSet對(duì)象接收結(jié)果集,處理結(jié)果集 關(guān)閉上述對(duì)象 服務(wù)器 數(shù)據(jù)庫服務(wù)器 1 2 3 4 ? 確定數(shù)據(jù)庫類型,加載與數(shù)據(jù)庫相匹配的驅(qū)動(dòng)程序,通常有 2種方式: ? 在個(gè)人開發(fā)與測(cè)試中,可以使用 JDBCODBC橋連方式。 ? 在生產(chǎn)型開發(fā)中,推薦使用純 Java驅(qū)動(dòng)方式。 ? 不論采用哪種驅(qū)動(dòng)方式,在程序中對(duì)數(shù)據(jù)庫的操作方式基本相同,只是加載不同的驅(qū)動(dòng)程序即可。 加載 JDBC驅(qū)動(dòng)程序 DB Server DB Server JDBC API JDBC Driver Manager 純 Java 驅(qū)動(dòng) JDBC–ODBC橋 Java 應(yīng)用程序 ODBC 加載 JDBC驅(qū)動(dòng)程序 ? 在控制面板 ?ODBC數(shù)據(jù)源 ?系統(tǒng) DSN中配置數(shù)據(jù)源。 ? 編程,使用 ()進(jìn)行裝載,向驅(qū)動(dòng)管理器注冊(cè)。 使用 JDBCODBC橋接 ()。 演示:配置 ODBC數(shù)據(jù)源 JDBCODBC橋驅(qū)動(dòng)類的完全限定類名 ? 由 JDBC驅(qū)動(dòng)程序直接訪問數(shù)據(jù)庫,可以避免橋接方式的缺陷。其中,純 JAVA驅(qū)動(dòng)程序由數(shù)據(jù)庫廠商提供,開發(fā)者在應(yīng)用程序中只需通過調(diào)用 JDBC API建立應(yīng)用程序到數(shù)據(jù)庫的連接。 ? 優(yōu)點(diǎn):匹配性能更好,快速而且可跨平臺(tái)。 ? 缺陷:訪問不同的數(shù)據(jù)庫需要下載專用的 JDBC驅(qū)動(dòng)。 純 Java驅(qū)動(dòng)程序 JDBC 驅(qū)動(dòng) Java 應(yīng)用程序 JDBC API DB Server ? 純 JAVA驅(qū)動(dòng)程序加載步驟: ? 下載數(shù)據(jù)庫廠商提供的驅(qū)動(dòng)程序包 ? 將驅(qū)動(dòng)程序包引入到環(huán)境變量中 ? 編程,加載驅(qū)動(dòng)程序 ( )。 sql server數(shù)據(jù)庫驅(qū)動(dòng)類的完全限定類名 ( )。 MySQL數(shù)據(jù)庫驅(qū)動(dòng)類的完全限定類名 純 Java驅(qū)動(dòng)程序 ? 創(chuàng)建數(shù)據(jù)庫的連接,首先要獲得數(shù)據(jù)庫的 JDBC URL地址, JDBC使用和網(wǎng)絡(luò) URL類似的語法來描述數(shù)據(jù)庫。 ? JDBC URL 的格式如下: jdbc:子協(xié)議: 數(shù)據(jù)源名稱 ? 利用 JDBC/ODBC橋訪問 ODBC數(shù)據(jù)庫, JDBC URL如下: jdbc:odbc:test ? 訪問 SQL Server數(shù)據(jù)庫, JDBC URL如下: jdbc:microsoft: test ? 訪問 MySQL數(shù)據(jù)庫, JDBC URL如下: jdbc: 創(chuàng)建數(shù)據(jù)庫連接 ? 獲得 JDBC URL地址后,必須使用 DriverManager類的靜態(tài)方法getConnection來獲得連接對(duì)象; 方 法 原 型 說 明 static Connection getConnection (String url, String user, String password) throws SQLException 參數(shù) url是連接字符串,參數(shù) user是數(shù)據(jù)庫用戶名,參數(shù) password是登錄口令,成功連接到數(shù)據(jù)庫返回 Connection對(duì)象,連接失敗則拋出 SQLException異常,必須捕捉。 static Connection getConnection (String url) throws SQLException 參數(shù) url是連接字符串,成功連接到數(shù)據(jù)庫返回 Connection對(duì)象。 Connection conn=(DBURL,“root”,”123”)。 Connection conn=(DBURL)。 創(chuàng)建數(shù)據(jù)庫連接 ? 連接成功后,通過 Connection對(duì)象的 createStatement方法來創(chuàng)建語句對(duì)象,才可以執(zhí)行 SQL語句; ? 有三種 Statement 對(duì)象: ? Statement 對(duì)象用于執(zhí)行不帶參數(shù)的簡(jiǎn)單 SQL語句; ? PreparedStatement 對(duì)象用于執(zhí)行帶或不帶參數(shù)的預(yù)編譯 SQL語句 ? CallableStatement 對(duì)象用于執(zhí)行對(duì)數(shù)據(jù)庫存儲(chǔ)過程的調(diào)用。 ? Statement對(duì)象提供了三種執(zhí)行 SQL語句的方法: ? executeQuery(): 用于產(chǎn)生單個(gè)結(jié)果集的 sql,如 select語句 ? executeUpdate: 用于執(zhí)行 insert、 delete、 update、 create table、 drop table等 ? execute(): 用于執(zhí)行返回多個(gè)結(jié)果集、多個(gè)更新計(jì)數(shù)或二者組合的語句,多數(shù)程序員不會(huì)需要該高級(jí)功能。 創(chuàng)建語句對(duì)象 Statement stmt=()。 String SQL=select * from user。 ResultSet rs=(SQL)。 處理結(jié)果集 ? JDBC通過 ResultSet對(duì)象接收結(jié)果集。 ResultSet對(duì)象包含了執(zhí)行 SQL語句后返回的結(jié)果集。結(jié)果集類似于數(shù)據(jù)庫中的表,因此需要一個(gè)指針逐行讀取數(shù)據(jù),這個(gè)指針被稱為游標(biāo)。在剛創(chuàng)建的 ResultSet對(duì)象中,游標(biāo)指向第一行數(shù)據(jù)前。 方 法 原 型 說 明 boolean next() throws SQLException 將光標(biāo)從當(dāng)前位置向前移一行 getXxx(int columnIndex) throws SQLException Xxx是數(shù)據(jù)類型,獲取結(jié)果集中指定列的值,列從 1開始。根據(jù)列的數(shù)據(jù)類型使用相應(yīng)的 getXxx方法 ResultSet rs=(SQL)。 while(()) {((1)+\t)。 ((2)+\t)。 ((3)+\t)。 } ? 前面的結(jié)果集只可以依次向下讀取數(shù)據(jù)。如果想要讀取結(jié)果集中任意一行,則必須創(chuàng)建一個(gè)可滾動(dòng)顯示的結(jié)果集。代碼如下: ? 創(chuàng)建可滾動(dòng)的結(jié)果集后,就可以調(diào)用下面的方法來獲取結(jié)果集中任意一行的數(shù)據(jù)。 first()、 last()、 beforefirst()、 afterlast()、previous()、 absolute(int row)、 relative()。 創(chuàng)建滾動(dòng)結(jié)果集 Statement stmt=(L_SENSITIVE,)。 ? 當(dāng)對(duì)數(shù)據(jù)庫的操作結(jié)束后,應(yīng)當(dāng)將所有已經(jīng)被打開的資源關(guān)閉。 ? Connection對(duì)象、 Statement對(duì)象和 ResultSet對(duì)象都有執(zhí)行關(guān)閉的close方法。 ? 方法原型都是: void close() throws SQLException,如: ()。 //關(guān)閉 ResultSet對(duì)象 ()。 //關(guān)閉 Statement對(duì)象 ()。 //關(guān)閉 Connection對(duì)象 ? 有可能拋出 SQLException異常,必須捕捉。 ? 注意關(guān)閉的順序,最后打開的資源最先關(guān)閉,最先打開的資源最后關(guān)閉。 關(guān)閉資源 數(shù)據(jù)庫操作示例 JDBC程序的工作模板 try { (JDBC驅(qū)動(dòng)類 )。 } catch (ClassNotFoundException e) { (無法找到驅(qū)動(dòng)類 )。 } try { Connection con=(JDBC URL,數(shù)據(jù)庫用戶名 ,密碼 )。 Statement stmt = ()。 ResultSet rs = (SELECT a, b, c FROM Table1)。 while (()) { int x = (a)。 String s = (b)。 float f = (c)。 } ()。 } catch (SQLException e) { ()。 } 獲得數(shù)據(jù)庫連接 發(fā)送 Sql語句 處理結(jié)果 注冊(cè) JDBC驅(qū)動(dòng) JDBC URL用來標(biāo)識(shí)數(shù)據(jù)庫 必須處理的異常 釋放資源 必須處理的異常 ? 更新數(shù)據(jù)庫可通過兩種方法實(shí)現(xiàn),一種是通過調(diào)用 Statement對(duì)象的executeUpdate()方法,一種是創(chuàng)建可更新的結(jié)果集。 ? 通過 SQL語句更新。如下所示: ? 通過結(jié)果集更新。首先要?jiǎng)?chuàng)建一個(gè)可更新的結(jié)果集。 更新數(shù)據(jù)庫 String SQL=“insert into 學(xué)生信息表(學(xué)號(hào),姓名,年齡,系別) ”+”values(?1202?,?楊東平 ‘ , 20, ’計(jì)算機(jī) ‘ ); int rowCount=(SQL)。 Statement stmt=(L_SENSITIVE,)。 ? 如果要多次執(zhí)行相似的 SQL語句,可以使用PreparedStatemend(預(yù)編譯語句對(duì)象)對(duì)象來執(zhí)行; ? 通過 Connection對(duì)象的 prepareStatement方法來創(chuàng)建預(yù)編譯語句對(duì)象; ? PreparedStatement對(duì)象會(huì)將 SQL語句預(yù)先編譯,這樣將會(huì)獲得比 Statement對(duì)象更高的執(zhí)行效率。 方 法 原 型 說 明 PreparedStatement prepareStatement(String sql) throws SQLException 參數(shù) sql是要執(zhí)行的 SQL語句,根據(jù)指定的 SQL語句創(chuàng)建PrepareStatement對(duì)象,有可能拋異常,必須捕捉 使用預(yù)編譯 SQL語句 ? 包含在 PreparedStatement對(duì)象中的 SQL語句可以帶有一個(gè)或多個(gè)參數(shù),使用 “ ?”作為占位符,如 : PreparedStatement ps = (UPDATE Friends SET Address = ? WHERE Name = ?)。 ? 在執(zhí)行 SQL語句之前,必須使用 PreparedStatement對(duì)象中的 setX方法設(shè)置每個(gè) “ ?”位置的參數(shù)值; ? 如: (1, 長沙 )。 (2, 王五 )。 方 法 原 型 說 明 void setX(int parameterIndex, X x) throws SQLException 將 parameterIndex指定的 “ ?”位置指定為 x的值,這里 X可以指代任意數(shù)據(jù)類型, “ ?”的索引從 1開始。 謝謝! 結(jié)束 休息一會(huì)兒。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1