




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《JavaWeb應(yīng)用開發(fā)》課程授課教案學(xué)院信息技術(shù)學(xué)院任課教師齊燕授課章節(jié)數(shù)據(jù)庫操作——JDBC技術(shù)授課類型理實(shí)一體授課時(shí)間2024年5月20日第13周星期一第1-2節(jié)授課班級應(yīng)用2201授課地點(diǎn)2202授課時(shí)間2024年5月20日第13周星期一第5-6節(jié)授課班級應(yīng)用2203授課地點(diǎn)2202授課時(shí)間2024年5月22日第13周星期三第1-2節(jié)授課班級應(yīng)用2202授課地點(diǎn)2202一、教學(xué)目標(biāo)、要求介紹JDBC和相關(guān)編程接口學(xué)會使用JDBC訪問數(shù)據(jù)庫編寫數(shù)據(jù)庫連接程序二、教學(xué)重點(diǎn):掌握J(rèn)DBC的相關(guān)編程接口掌握訪問數(shù)據(jù)庫的步驟三、教學(xué)難點(diǎn):學(xué)會編寫數(shù)據(jù)庫連接程序四、教學(xué)方法及手段:上機(jī)演示及練習(xí)五、教時(shí)安排2課時(shí)六、課程思政:學(xué)習(xí)要有持續(xù)性,不能丟了西瓜撿了芝麻,需要溫故而知新。(可增加頁)第一步介紹JDBC1.JDBC簡介JDBC的全稱為“JavaDataBaseConnectivity”,它是一組使用Java語言編寫的面向?qū)ο蟮挠糜谶B接數(shù)據(jù)庫的程序接口(API)。它制定了統(tǒng)一的訪問各類關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)接口,為各個(gè)數(shù)據(jù)庫廠商提供了標(biāo)準(zhǔn)接口的實(shí)現(xiàn)。通過使用JDBC技術(shù),開發(fā)人員可以用純Java語言和標(biāo)準(zhǔn)的SQL語句編寫完整的數(shù)據(jù)庫應(yīng)用程序,并且真正的實(shí)現(xiàn)了軟件的跨平臺型。將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運(yùn)行,體現(xiàn)Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。2.JDBC的優(yōu)缺點(diǎn)JDBC優(yōu)點(diǎn):JDBC與ODBC十分相似,便于軟件開發(fā)人員的理解。JDBC使軟件開發(fā)人員從復(fù)雜的驅(qū)動程序編寫工作解脫出來,可以完全專注與業(yè)務(wù)邏輯的開發(fā)。JDBC支持多種關(guān)系型數(shù)據(jù)庫,這樣可以增加軟件的可移植性。JDBC編寫接口是面向?qū)ο蟮模_發(fā)人員可以將常用的方法進(jìn)行二次封裝,從而提高代碼的重用性。JDBC缺點(diǎn):通過JDBC訪問數(shù)據(jù)庫時(shí),實(shí)際的操作速度會降低。雖然JDBC編程接口是面向?qū)ο蟮模ㄟ^JDBC訪問數(shù)據(jù)庫依然是面向關(guān)系的。JDBC提供了對不同廠家的產(chǎn)品支持,這樣對數(shù)據(jù)源的操作有所影響3.JDBC驅(qū)動程序數(shù)據(jù)庫名稱類包名驅(qū)動名稱與URL地址MYSQLmysql-connector-java-3.3.16-ga-bin.jarcom.mysql.jdbc.Driverjdbc:mysql://localhost:3306/數(shù)據(jù)庫名稱4.JDBC的主要編程接口(1)驅(qū)動程序接口Driver通常情況下通過java.lang.Class類的靜態(tài)方法forName(StringclassName)加載要連接數(shù)據(jù)庫的Driver類,該方法的入口參數(shù)為要加載Driver類的完整包名。Driver接口由數(shù)據(jù)庫廠家提供,作為java開發(fā)人員,只需要使用Driver接口就可以了。在編程中要連接數(shù)據(jù)庫,必須先裝載特定廠商的數(shù)據(jù)庫驅(qū)動程序,不同的數(shù)據(jù)庫有不同的裝載方法。比如:裝載MySql驅(qū)動:Class.forName("com.mysql.jdbc.Driver");(2)驅(qū)動程序管理器DriverManager負(fù)責(zé)管理JDBC驅(qū)動程序的基本服務(wù),作用于用戶和驅(qū)動程序之間,負(fù)責(zé)追蹤可用的驅(qū)動程序,并在數(shù)據(jù)庫和相應(yīng)驅(qū)動程序之間建立連接。另外,DriverManager類也處理驅(qū)動程序登錄時(shí)間限制及登錄和跟蹤消息的顯示等事務(wù)。連接不同的數(shù)據(jù)庫,DriverManager.getConnection方法中的url可能不一樣:連接MySql數(shù)據(jù)庫:Connectionconn=DriverManager.getConnection("jdbc:mysql://localhost:3306/數(shù)據(jù)庫名稱","root","root");(3)數(shù)據(jù)庫連接接口Connectionjava.sql.Connection接口表示與特定數(shù)據(jù)庫的連接,并在連接的上下文中可以執(zhí)行SQL語句并返回結(jié)果。通過Connection對象可以獲取數(shù)據(jù)庫和表等數(shù)據(jù)庫對象的詳細(xì)信息。Connection接口中常用的方法如表所示。序號方法名稱功能描述1createStatement()創(chuàng)建Statement對象示例2preparedStatement(Stringsql)獲得PreparedStatement對象實(shí)例,參數(shù)為預(yù)編譯的SQL(4)執(zhí)行SQL語句接口Statement取得數(shù)據(jù)庫連接對象后,就可以通過該連接發(fā)送SQL語句??梢允褂肅onnection對象中的createStatement()方法創(chuàng)建Statement對象,然后將發(fā)送到數(shù)據(jù)庫的SQL語句作為參數(shù)提供給Statement類中的指定方法。例如,對于select語句調(diào)用executeQuery(Stringsql)方法,對于insert、update和delete語句,調(diào)用executeUpdate(Stringsql)方法。Statement接口提供的常用方法如表所示。序號方法名稱功能描述1executeQuery(Stringsql)用于產(chǎn)生單個(gè)結(jié)果集的語句,例如,執(zhí)行SELECT查詢語句2executeUpdate(Stringsql)用于執(zhí)行INSERT、UPDATE或DELETE語句executeUpdate的返回值是一個(gè)整數(shù),表示受影響的行數(shù)(即更新計(jì)數(shù))。3execute(Stringsql)用于執(zhí)行返回多個(gè)結(jié)果集、多個(gè)更新計(jì)數(shù)或二者組合的語句(5)執(zhí)行動態(tài)SQL語句接口PreparedStatementPreparedStatement接口繼承并擴(kuò)展了Statement接口,用來執(zhí)行動態(tài)的SQL語句。PreparedStatement接口包含已編譯的SQL語句,并且包含于PreparedStatement對象中的SQL語句可具有一個(gè)或多個(gè)參數(shù)。該語句為每個(gè)參數(shù)保留一個(gè)問號“?”作為占位符。例如,創(chuàng)建包含帶兩個(gè)參數(shù)占位符的SQL語句的PreparedStatement對象:PreparedStatementpstmt=con.prepareStatement("select*fromuserwherename=?andpassword=?");pstmt.setString(1,"admin");pstmt.setString(2,"123");注意:這里的編號和數(shù)組下標(biāo)不一樣,是從1開始的!(6)返回查詢結(jié)果集接口ResultSetjava.sql.ResultSet接口類似于一個(gè)數(shù)據(jù)表,通過該接口的實(shí)例可以獲得檢索結(jié)果集以及對應(yīng)的數(shù)據(jù)表相關(guān)信息。ResultSet實(shí)例通過執(zhí)行查詢數(shù)據(jù)庫的語句生成。一個(gè)Statement對象在同一時(shí)刻只能打開一個(gè)ResultSet對象??梢酝ㄟ^字段的序號或者字段的名字來制定獲取某個(gè)字段的值。例如:getString(“name”)getInt(“age”)第二步展示連接數(shù)據(jù)庫的步驟。1、驅(qū)動下載mysql-connector-java-5.1.7-bin2、復(fù)制驅(qū)動文件到工程將下載好的驅(qū)動文件復(fù)制到當(dāng)前工程的WEB-INF的lib目錄中。3、編寫數(shù)據(jù)庫連接程序:BaseDao類packagedb;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassBaseDao{ publicstaticStringdriver="com.mysql.jdbc.Driver";//驅(qū)動名稱 publicstaticStringurl="jdbc:mysql://localhost:3306/my"; //my是數(shù)據(jù)庫名稱 publicstaticStringdbUser="root"; publicstaticStringdbPwd="root"; publicstaticConnectionconn=null; publicstaticStatementst=null; publicstaticResultSetrs=null; publicBaseDao(){ try{ Class.forName(driver);//加載驅(qū)動 conn=DriverManager.getConnection(url,dbUser,dbPwd); System.out.println("數(shù)據(jù)庫連接成功!"); }catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock //e.printStackTrace(); System.out.println("連接失敗1:"+e); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock //e.printStackTrace(); System.out.println("連接失敗2:"+e); } }}4、創(chuàng)建MySql數(shù)據(jù)庫my:5、測試數(shù)據(jù)庫連接效果:Test類packagedb;publicclassTest{ publicstaticvoidmain(String[]args){ //TODOAuto-ge
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《smt基礎(chǔ)培訓(xùn)資料》課件
- 【日本7-Eleven連鎖便利店供應(yīng)鏈體系分析5400字】
- 【李斯特練習(xí)曲瑪捷帕的演奏技巧分析7900字】
- 【H快時(shí)尚服裝集團(tuán)運(yùn)營現(xiàn)狀及問題調(diào)查分析19000字】
- WD-320動力穩(wěn)定車作業(yè)規(guī)程
- tb-10314-2021《鄰近鐵路營業(yè)線施工安全監(jiān)測技術(shù)規(guī)程》內(nèi)容解析
- 2025年鎮(zhèn)江市京口區(qū)社區(qū)工作者招聘考試筆試試題(含答案)
- 2025年房地產(chǎn)經(jīng)紀(jì)人職業(yè)資格考試題及答案
- 客服個(gè)人工作總結(jié)范本
- 汽修廠氣動工具漏氣檢查與維修制度
- (2024年)腸梗阻完整版課件
- (2024年)《甲亢病人的護(hù)理》ppt課件完整版
- T-CARM 002-2023 康復(fù)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 兒童發(fā)展心理學(xué)全套課件
- 2022水利工程生態(tài)護(hù)坡技術(shù)規(guī)范
- 《單片機(jī)C語言》課件
- 新能源與人工智能的融合發(fā)展
- 實(shí)驗(yàn)室搬遷方案
- 人為因素航空安全管理
- 1、山東省專業(yè)技術(shù)職稱評審表(A3正反面手填)
- 《導(dǎo)游業(yè)務(wù)》第八章
評論
0/150
提交評論