久草成人在线视频,欧美激情视频网,级别免费毛片在线看,中文字幕色婷婷在线视频,亚洲天堂成人在线,久久亚洲婷,日本黄色网址在线免费

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > PPTX文檔下載  

09Java數(shù)據(jù)庫(kù)編程電子課件 Java程序設(shè)計(jì)案例教程

  • 資源ID:253333048       資源大?。?span id="lcmw8iyvc" class="font-tahoma">31.34MB        全文頁(yè)數(shù):26頁(yè)
  • 資源格式: PPTX        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

09Java數(shù)據(jù)庫(kù)編程電子課件 Java程序設(shè)計(jì)案例教程

,模塊,9,Java數(shù)據(jù)庫(kù)編程,學(xué)習(xí)目標(biāo),01,掌握在Java應(yīng)用程序中用JDBC連接驅(qū)動(dòng)訪問(wèn)MySQL數(shù)據(jù)庫(kù)的方法和步驟。,02,掌握通過(guò)Java應(yīng)用程序操作MySQL數(shù)據(jù)庫(kù)的方法和步驟,包括查詢(順序查詢、游動(dòng)查詢)、添加、修改和刪除數(shù)據(jù)記錄等基本數(shù)據(jù)操作過(guò)程。,03,了解通過(guò)預(yù)編譯SQL語(yǔ)句對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)操作的過(guò)程。,04,理解預(yù)編譯SQL語(yǔ)句防止SQL注入的方法和意義。,技能目標(biāo),1.能夠在MyEclipse IDE中為Java項(xiàng)目配置JDBC數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)。,2.能夠在MyEclipse IDE中編寫(xiě)Java應(yīng)用程序?qū)ySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄進(jìn)行查詢、添加、修改和刪除等操作。,3.能夠在MyEclipse IDE中編寫(xiě)預(yù)編譯SQL語(yǔ)句對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄進(jìn)行操作及防止SQL注入。,9.1 回顧與思考,在軟件開(kāi)發(fā)過(guò)程中,通常情況下都需要利用數(shù)據(jù)庫(kù)來(lái)存放數(shù)據(jù)。用Java語(yǔ)言編寫(xiě)的程序也要能實(shí)現(xiàn)與數(shù)據(jù)庫(kù)進(jìn)行交互的功能。使用Java語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù)主要包括從數(shù)據(jù)庫(kù)中查找符合給定條件的記錄、向數(shù)據(jù)庫(kù)中插入符合給定條件的記錄、修改或刪除數(shù)據(jù)庫(kù)中符合給定條件的記錄。,因此,本模塊我們開(kāi)始學(xué)習(xí)編寫(xiě)Java應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)的方法技術(shù),內(nèi)容包含對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)記錄的查詢、添加、修改與刪除等操作,以及使用預(yù)編譯SQL語(yǔ)句防止從應(yīng)用程序外部進(jìn)行SQL注入。,9.2 數(shù)據(jù)庫(kù)操作準(zhǔn)備,9.2.1 創(chuàng)建MySQL數(shù)據(jù)庫(kù),通過(guò)Java應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù),首先要準(zhǔn)備好數(shù)據(jù)庫(kù)及其中的數(shù)據(jù)。單擊桌面“開(kāi)始”按鈕,選擇“所有程序”“MySQL”,在展開(kāi)項(xiàng)中選擇“MySQL Server 5.5”,從中選擇“MySQL 5.5 Command Line Client”,打開(kāi)MySQL命令行客戶端。,然后,輸入SQL語(yǔ)句“select*from student;”進(jìn)行驗(yàn)證。客戶端輸出結(jié)果如圖9,-,1所示,其表明數(shù)據(jù)庫(kù)已準(zhǔn)備就緒。,圖9,-,1 student表的記錄,9.2 數(shù)據(jù)庫(kù)操作準(zhǔn)備,9.2.2 加載JDBC數(shù)據(jù)庫(kù)連接驅(qū)動(dòng),在MyEclipse IDE中,右擊項(xiàng)目myPro,在彈出的快捷菜單中選擇Properties選項(xiàng),彈出“Properties for myPro”窗口,在左側(cè)的列項(xiàng)中選擇Java Build Path選項(xiàng),再在右側(cè)切換到Libraries選項(xiàng)卡,如圖9,-,2所示。,圖9,-,2“Properties for myPro”窗口,9.2 數(shù)據(jù)庫(kù)操作準(zhǔn)備,9.2.2 加載JDBC數(shù)據(jù)庫(kù)連接驅(qū)動(dòng),單擊Add External JARs按鈕,在彈出的“JAR Selection”對(duì)話框中找到所需連接驅(qū)動(dòng)所在的目錄位置,如圖9,-,3所示。,圖9,-,3“JAR Selection”對(duì)話框,9.2 數(shù)據(jù)庫(kù)操作準(zhǔn)備,9.2.2 加載JDBC數(shù)據(jù)庫(kù)連接驅(qū)動(dòng),單擊“打開(kāi)”按鈕,返回“Properties for myPro”窗口,在“Java Build Path”的“Libraries”選項(xiàng)卡中出現(xiàn)了加載的MySQL連接驅(qū)動(dòng),如圖9,-,4所示。,圖9,-,4 MySQL連接驅(qū)動(dòng)加載完成,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.1 查詢記錄操作,【例9,-,1】,在控制臺(tái)顯示從myDatabase數(shù)據(jù)庫(kù)的student表中查詢到的所有數(shù)據(jù)記錄。,文件名為Example9_1.java,其代碼如下。,1.順序查詢,其代碼,見(jiàn),P186-187,。,運(yùn)行結(jié)果如下。,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.1 查詢記錄操作,在游動(dòng)查詢操作中,采用createStatement(int resultSetType,int resultSetConcurrency)方法將 SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)。其參數(shù)的功能如下。,2.游動(dòng)查詢,(1)resultSetType的取值決定結(jié)果集的游標(biāo)能否上下移動(dòng)。取值如下。,ResultSet.TYPE_FORWARD_ONLY:結(jié)果集的游標(biāo)只能向下移動(dòng)。,ResultSet.TYPE_SCROLL_INSENSITIVE:結(jié)果集的游標(biāo)能夠上下移動(dòng)。當(dāng)數(shù)據(jù)庫(kù)有變化時(shí),當(dāng)前結(jié)果集不變。,ResultSet.Type_SCROLL_SENSITIVE:結(jié)果集的游標(biāo)能夠上下移動(dòng)。當(dāng)數(shù)據(jù)庫(kù)有變化時(shí),當(dāng)前結(jié)果集同步改變。,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.1 查詢記錄操作,2.游動(dòng)查詢,(2)resultSetConcurrency的取值決定能否用結(jié)果集更新數(shù)據(jù)庫(kù)。取值如下。,ResultSet.CONCUR_READ_ONLY:不能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。,ResultSet.CONCUR_UPDATABLE:能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。,(2)resultSetConcurrency的取值決定能否用結(jié)果集更新數(shù)據(jù)庫(kù)。取值如下。,ResultSet.CONCUR_READ_ONLY:不能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。,ResultSet.CONCUR_UPDATABLE:能用結(jié)果集更新數(shù)據(jù)庫(kù)中的表。,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.1 查詢記錄操作,2.游動(dòng)查詢,【例9,-,2】,游動(dòng)查詢myDatabase數(shù)據(jù)庫(kù)的student表中的數(shù)據(jù)記錄。,文件名為Example9_2.java,其代碼如下。,其代碼,見(jiàn),P188-190,。,運(yùn)行結(jié)果如下。,一共有6條記錄。,第三條記錄為:,王五 男 1999,-,02,-,02 85 通信工程,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.2 添加記錄操作,【例9,-,3】,從控制臺(tái)接收數(shù)據(jù)向myDatabase數(shù)據(jù)庫(kù)的student表中插入一條記錄(,周九,男,1999,-,6,-,6,88,網(wǎng)絡(luò)工程,)。,文件名為Example9_3.java,其代碼如下。,其代碼,見(jiàn),P190-192,。,運(yùn)行結(jié)果如下。,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.3 修改記錄操作,【例9,-,4】,從控制臺(tái)接收數(shù)據(jù),將myDatabase數(shù)據(jù)庫(kù)的student表中name字段值為“李四”記錄的specialty字段值改為“人工智能工程”。,文件名為Example9_4.java,其代碼如下。,其代碼,見(jiàn),P192-193,。,運(yùn)行結(jié)果如下。,9.3 數(shù)據(jù)庫(kù)操作技術(shù),9.3.4 刪除記錄操作,【例9,-,5】,從控制臺(tái)接收數(shù)據(jù),將myDatabase數(shù)據(jù)庫(kù)的student表中name字段值為“周九”的記錄刪除。,文件名為Example9_5.java,其代碼如下。,其代碼,見(jiàn),P194-195,。,運(yùn)行結(jié)果如下。,9.4 防止SQL注入,9.4.1 SQL注入,SQL,是操作數(shù)據(jù)庫(kù)數(shù)據(jù)的結(jié)構(gòu)化查詢語(yǔ)言,采用SQL將應(yīng)用程序和數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行交互。如果應(yīng)用程序?qū)τ脩糨斎霐?shù)據(jù)的合法性沒(méi)有判斷或過(guò)濾不嚴(yán),則攻擊者可以修改在應(yīng)用程序中事先定義好的查詢語(yǔ)句,以此來(lái)實(shí)現(xiàn)欺騙數(shù)據(jù)庫(kù)執(zhí)行非授權(quán)的任意查詢,從而進(jìn)一步得到相應(yīng)的數(shù)據(jù)信息,發(fā)生SQL注入攻擊。,9.4 防止SQL注入,9.4.1 SQL注入,【例9,-,6】,SQL注入示例。,首先在myDatabase數(shù)據(jù)庫(kù)中建一個(gè)表,命名為user,表結(jié)構(gòu)為name(varchar)、password(varchar),SQL語(yǔ)句為“create table user(name varchar(20),password varchar(20);”。向user表中插入一條數(shù)據(jù)記錄,SQL語(yǔ)句為“insert into user(name,password)values(,南京交通,njjt,);”。,其代碼,見(jiàn),P197-198,。,然后編寫(xiě)應(yīng)用程序。文件名為Example9_6.java,其代碼如下。,9.4 防止SQL注入,9.4.1 SQL注入,【例9,-,6】,SQL注入示例。,運(yùn)行后,輸入密碼時(shí)注入非法SQL,結(jié)果如下。,在沒(méi)有輸入正確的用戶名和密碼的情況下,仍然通過(guò)應(yīng)用程序非法闖入了數(shù)據(jù)庫(kù)。,如果把程序中與數(shù)據(jù)庫(kù)用戶名和密碼進(jìn)行比對(duì)部分的代碼,9.4 防止SQL注入,9.4.1 SQL注入,【例9,-,6】,SQL注入示例。,修改為,9.4 防止SQL注入,9.4.1 SQL注入,【例9,-,6】,SQL注入示例。,運(yùn)行后,輸入用戶名和密碼時(shí)注入非法SQL,結(jié)果如下。,請(qǐng)輸入用戶名:java,or,1=1,請(qǐng)輸入密碼:mima,or,1=1,密碼不正確!,雖然保證了數(shù)據(jù)庫(kù)未被非法闖入,但是被成功地騙取了“合法”用戶身份,數(shù)據(jù)庫(kù)仍然存在潛在的危險(xiǎn)。,9.4 防止SQL注入,9.4.2 預(yù)編譯SQL語(yǔ)句,對(duì)于要多次執(zhí)行的SQL語(yǔ)句,MySQL支持將其寫(xiě)成預(yù)編譯SQL語(yǔ)句的形式,而后可直接多次調(diào)用。預(yù)編譯SQL語(yǔ)句的運(yùn)用分準(zhǔn)備和執(zhí)行兩個(gè)過(guò)程:,語(yǔ)句準(zhǔn)備過(guò)程是通知MySQL服務(wù)器將預(yù)編譯SQL語(yǔ)句編譯成執(zhí)行計(jì)劃,SQL語(yǔ)句只需編譯一次;語(yǔ)句執(zhí)行過(guò)程則直接調(diào)用編譯所形成的機(jī)器代碼段,多次執(zhí)行同一條SQL語(yǔ)句時(shí),效率非常高。,在預(yù)編譯SQL語(yǔ)句中,允許有一個(gè)或多個(gè)未指定數(shù)值的輸入?yún)?shù),輸入?yún)?shù)用占位符“?”代替。在執(zhí)行預(yù)編譯SQL語(yǔ)句前,必須對(duì)“?”進(jìn)行賦值。,9.4 防止SQL注入,9.4.2 預(yù)編譯SQL語(yǔ)句,【例9,-,7】,用預(yù)編譯SQL語(yǔ)句替代文件Example9_6.java中的部分代碼,達(dá)到防止SQL注入的目的。,文件名為Example9_7.java,其代碼如下。,其代碼,見(jiàn),P200-201,。,運(yùn)行結(jié)果如下。,9.5 小結(jié),在本模塊,我們系統(tǒng)學(xué)習(xí)了在MyEclipse IDE中通過(guò)JDBC數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)訪問(wèn)MySQL數(shù)據(jù)庫(kù),并進(jìn)行查詢(順序查詢、游動(dòng)查詢)、添加、修改和刪除數(shù)據(jù)記錄等基本數(shù)據(jù)操作的過(guò)程和方法。我們還學(xué)習(xí)了預(yù)編譯SQL語(yǔ)句在數(shù)據(jù)操作及防止SQL注入等方面的運(yùn)用。,9.6 習(xí)題,1.在MyEclipse IDE中為Java項(xiàng)目配置通過(guò)JDBC 訪問(wèn)MySQL數(shù)據(jù)庫(kù)的連接驅(qū)動(dòng)。,2.借助Java API詳細(xì)分析Java應(yīng)用程序中連接訪問(wèn)MySQL數(shù)據(jù)庫(kù)的關(guān)鍵代碼。,3.Connection、Statement和ResultSet都是java.sql包中的接口。通過(guò)模塊5的學(xué)習(xí),我們知道接口中的方法都是抽象方法。但是,在數(shù)據(jù)庫(kù)操作過(guò)程中,為什么能調(diào)用上述接口中的方法呢?,提示,:調(diào)用getClass()方法查找對(duì)象的來(lái)源。,4.如果沒(méi)有使用預(yù)編譯SQL語(yǔ)句進(jìn)行用戶登錄驗(yàn)證,會(huì)產(chǎn)生怎樣的后果?,9.7 上機(jī)實(shí)踐,仿照本模塊中的例子,對(duì)myDatabase數(shù)據(jù)庫(kù)的student表繼續(xù)進(jìn)行以下數(shù)據(jù)操作。,1.查詢專(zhuān)業(yè)為“網(wǎng)絡(luò)工程”的數(shù)據(jù)記錄,并在控制臺(tái)顯示查詢結(jié)果。,2.向student表中插入一條記錄,并查詢顯示插入結(jié)果。,3.將student表中name字段值為“王五”記錄的score字段值改為“95”,并查詢顯示更改結(jié)果。,4.刪除student表中name字段值為“孫八”的記錄,并查詢顯示刪除結(jié)果。,謝謝觀看!,

注意事項(xiàng)

本文(09Java數(shù)據(jù)庫(kù)編程電子課件 Java程序設(shè)計(jì)案例教程)為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!