Java語(yǔ)言程序設(shè)計(jì)(java數(shù)據(jù)庫(kù)連接)ppt.ppt
《Java語(yǔ)言程序設(shè)計(jì)(java數(shù)據(jù)庫(kù)連接)ppt.ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《Java語(yǔ)言程序設(shè)計(jì)(java數(shù)據(jù)庫(kù)連接)ppt.ppt(35頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Java語(yǔ)言程序設(shè)計(jì) 清華大學(xué)出版社 第10章java數(shù)據(jù)庫(kù)連接 圖15 1學(xué)生數(shù)據(jù)庫(kù)的組成及相關(guān)名詞 10 1建立ODBC數(shù)據(jù)源 理解ODBC數(shù)據(jù)源 圖15 3ODBC數(shù)據(jù)源管理器對(duì)話(huà)框 圖15 7安裝完成后的 ODBC數(shù)據(jù)源管理器 對(duì)話(huà)框 10 2使用JDBC連接數(shù)據(jù)庫(kù) JDBC JavaDataBaseConnectivity的縮寫(xiě) 意思是Java程序連接數(shù)據(jù)庫(kù)的應(yīng)用程序接口 API JDBC由一群類(lèi)和接口組成 通過(guò)調(diào)用這些類(lèi)和接口所提供的成員方法 我們可以連接各種不同的數(shù)據(jù)庫(kù) 進(jìn)而使用標(biāo)準(zhǔn)的SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún) 插入 刪除 更新等操作 10 2 1JDBC結(jié)構(gòu) JDBC的基本結(jié)構(gòu)由Java程序 JDBC管理器 驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)四部分組成 如圖所示 圖JDBC結(jié)構(gòu) 數(shù)據(jù)庫(kù) ODBC JDBC 橋接器 Java應(yīng)用程序 1 Java應(yīng)用程序Java應(yīng)用程序根據(jù)JDBC方法實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和操作 完成的主要任務(wù)有 請(qǐng)求與數(shù)據(jù)庫(kù)建立連接 向數(shù)據(jù)庫(kù)發(fā)送SQL請(qǐng)求 查詢(xún)結(jié)果 處理錯(cuò)誤 控制傳輸 提交及關(guān)閉連接等操作 2 JDBC編程要點(diǎn) 1 引用java sql包 importjava sql 2 使用Class forName 方法加載相應(yīng)數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序 class forName sun jdbc odbc JdbcOdbcDriver 3 定義JDBC的URL對(duì)象 例如 StringconURL jdbc odbc TestDB 其中TestDB是我們?cè)O(shè)置的數(shù)據(jù)源 4 連接數(shù)據(jù)庫(kù) Connections DriverManager getConnection conURL 5 使用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作 6 解除Java與數(shù)據(jù)庫(kù)的連接并關(guān)閉數(shù)據(jù)庫(kù) 例如 s close 10 3JDBC編程實(shí)例 10 3 1創(chuàng)建數(shù)據(jù)表 示例程序1 創(chuàng)建學(xué)生表student 此表有三個(gè)字段 學(xué)號(hào) id 姓名 name 及成績(jī) score importjava sql 引入java sql包publicclassc1 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver 聲明JDBC驅(qū)動(dòng)程序?qū)ο骃tringconURL jdbc odbc TestDB 定義JDBC的URL對(duì)象try Class forName JDriver 加載JDBC ODBC橋驅(qū)動(dòng)程序 catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL 連接數(shù)據(jù)庫(kù)URLStatements con createStatement 建立Statement類(lèi)對(duì)象Stringquery createtablestudent idchar 10 namechar 15 scoreinteger 創(chuàng)建一個(gè)含有三個(gè)字段的學(xué)生表students executeUpdate query 執(zhí)行SQL命令 s close 釋放Statement所連接的數(shù)據(jù)庫(kù)及JDBC資源con close 關(guān)閉與數(shù)據(jù)庫(kù)的連線(xiàn) catch SQLExceptione System out println SQLException e getMessage 其中 createtablestudent idchar 10 namechar 15 scoreinteger 這個(gè)SQL語(yǔ)句表示建立一個(gè)名為student的表 包含id 字符型 寬度為10 name 字符型 寬度為15 與score 數(shù)字型 三個(gè)字段 這段程序的操作結(jié)果是創(chuàng)建了一個(gè)數(shù)據(jù)庫(kù)中student表的結(jié)構(gòu) 表中還沒(méi)有任何記錄 10 3 2向數(shù)據(jù)表中插入數(shù)據(jù) 示例程序2 在上例創(chuàng)建的數(shù)據(jù)表student中插入三個(gè)學(xué)生的記錄 importjava sql publicclassc2 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL Statements con createStatement Stringr1 insertintostudentvalues 0001 王明 80 Stringr2 insertintostudentvalues 0002 高強(qiáng) 94 Stringr3 insertintostudentvalues 0003 李莉 82 使用SQL命令insert插入三條學(xué)生記錄到表中s executeUpdate r1 s executeUpdate r2 s executeUpdate r3 s close con close catch SQLExceptione System out println SQLException e getMessage 圖程序2的運(yùn)行結(jié)果 10 3 3更新數(shù)據(jù) 示例程序3 java 修改上例數(shù)據(jù)表中的第二條和第三條記錄的學(xué)生成績(jī)字段值 并把修改后的數(shù)據(jù)表的內(nèi)容輸出到屏幕上 importjava sql publicclassc3 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB String id 0002 0003 int score 89 60 try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL 修改數(shù)據(jù)庫(kù)中數(shù)據(jù)表的內(nèi)容PreparedStatementps con prepareStatement UPDATEstudentsetscore whereid inti 0 idlen id length do ps setInt 1 score i ps setString 2 id i ps executeUpdate 執(zhí)行SQL修改命令 i while i id length ps close 查詢(xún)數(shù)據(jù)庫(kù)并把數(shù)據(jù)表的內(nèi)容輸出到屏幕上Statements con createStatement ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getInt score s close con close catch SQLExceptione System out println SQLException e getMessage 在這個(gè)程序中使用了PreparedStatement類(lèi) 它提供了一系列的set方法來(lái)設(shè)定位置 請(qǐng)注意程序中PreparedStatement 方法中的參數(shù) 程序中的語(yǔ)句 PreparedStatementps con prepareStatement UPDATEstudentsetscore whereid ps setInt 1 score i 將score i 的值作為SQL語(yǔ)句中第一個(gè)問(wèn)號(hào)所代表參數(shù)的值ps executeUpdate 其中 UPDATEstudentsetscore whereid 這個(gè)SQL語(yǔ)句中各字段的值并沒(méi)指定 而是以 表示 程序必須在執(zhí)行ps executeUpdate 語(yǔ)句之前指定各個(gè)問(wèn)號(hào)位置的字段值 例如 用ps setInt 1 score i 語(yǔ)句中的參數(shù)1指出這里的score i 的值是SQL語(yǔ)句中第一個(gè)問(wèn)號(hào)位置的值 當(dāng)前面兩條語(yǔ)句執(zhí)行完后 才可執(zhí)行ps executeUpdate 語(yǔ)句 完成對(duì)一條記錄的修改 程序中用到的查詢(xún)數(shù)據(jù)庫(kù)并把數(shù)據(jù)表的內(nèi)容輸出到屏幕的語(yǔ)句是 ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getInt score 其中 executeQuery 返回一個(gè)ResultSet類(lèi)的對(duì)象rs 代表執(zhí)行SQL查詢(xún)語(yǔ)句后所得到的結(jié)果集 之后再在while循環(huán)中使用對(duì)象rs的next 方法將返回的結(jié)果一條一條地取出 直到next 為false 運(yùn)行結(jié)果如下 0001王明800002高強(qiáng)890003李莉60 10 3 4刪除記錄 示例程序4 java 刪除表中第二條記錄 然后把數(shù)據(jù)表的內(nèi)容輸出 importjava sql publicclassc4 publicstaticvoidmain String args StringJDriver sun jdbc odbc JdbcOdbcDriver StringconURL jdbc odbc TestDB try Class forName JDriver catch java lang ClassNotFoundExceptione System out println ForName e getMessage try Connectioncon DriverManager getConnection conURL Statements con createStatement 刪除第二條記錄PreparedStatementps con prepareStatement deletefromstudentwhereid ps setString 1 0002 ps executeUpdate 執(zhí)行刪除 查詢(xún)數(shù)據(jù)庫(kù)并把數(shù)據(jù)表的內(nèi)容輸出到屏幕上 ResultSetrs s executeQuery select fromstudent while rs next System out println rs getString id t rs getString name t rs getString score s close con close catch SQLExceptione System out println SQLException e getMessage 數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序連接數(shù)據(jù)庫(kù) 1 下載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序2 連接URL 連接Access數(shù)據(jù)庫(kù) StringconURL jdbc odbc Driver MicroSoftAccessDriver mdb DBQ TestDB mdb ConnectionEx1Con DriverManager getConnection conURL 見(jiàn)P116例10 5 連接SQLServer數(shù)據(jù)庫(kù) 見(jiàn)P325例10 8 連接Oracle數(shù)據(jù)庫(kù) Class forName oracle jdbc OracleDriver newInstance StringdbURL jdbc oracle thin yourservername 1521 yoursid Stringuser youruser Stringpassword yourpassword Connectionc null c DriverManager getConnection dbURL user password oracle jdbc OracleDriver是一個(gè)類(lèi) 在oracle jdbc目錄下有一個(gè)OracleDriver class的文件- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Java 語(yǔ)言程序設(shè)計(jì) 數(shù)據(jù)庫(kù)連接 ppt
鏈接地址:http://m.appdesigncorp.com/p-7201355.html