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