趙丹丹
以任務(wù)驅(qū)動(dòng)方式實(shí)現(xiàn)Java的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的教學(xué)
趙丹丹
(威海職業(yè)學(xué)院 山東威海 264210)
Java語(yǔ)言是目前最為流行的編程語(yǔ)言,數(shù)據(jù)庫(kù)在當(dāng)今時(shí)代亦起著舉足輕重的作用。兩者的結(jié)合真正體現(xiàn)了一次編寫(xiě),處處運(yùn)行的Java語(yǔ)言的特點(diǎn)。筆者在Java的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的教學(xué)中通過(guò)一個(gè)管理系統(tǒng)登錄的任務(wù),實(shí)現(xiàn)JDBC數(shù)據(jù)庫(kù)技術(shù)及訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的步驟的講授,取得較好的教學(xué)效果。
Java JDBC 任務(wù)驅(qū)動(dòng)
Java語(yǔ)言程序設(shè)計(jì)是高職院校軟件技術(shù)專(zhuān)業(yè)的專(zhuān)業(yè)必修課,課程教學(xué)目的是熟練掌握面向?qū)ο缶幊痰幕A(chǔ)知識(shí)和提升實(shí)踐能力。由于高職學(xué)生基礎(chǔ)薄弱,喜歡和擅長(zhǎng)操作技能的學(xué)習(xí),而對(duì)理論學(xué)習(xí)興趣較差,在進(jìn)行Java數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)教學(xué)中,采用任務(wù)驅(qū)動(dòng)教學(xué)法,完成了一個(gè)用戶(hù)登錄的任務(wù),提高了學(xué)生的學(xué)習(xí)樂(lè)趣,實(shí)現(xiàn)了預(yù)期的教學(xué)目標(biāo)。
Java誕生在一個(gè)信息爆炸的時(shí)代,它的開(kāi)發(fā)者自然也認(rèn)識(shí)到了Java在數(shù)據(jù)庫(kù)方面的無(wú)限前景和巨大的潛力。JDBC就是可用于執(zhí)行SQL語(yǔ)句的Java使用數(shù)據(jù)庫(kù)的基本接口。有了這套JDBC的實(shí)現(xiàn),Java程序就可以很方便地對(duì)不同的數(shù)據(jù)庫(kù)進(jìn)行操作了。JDBC允許任何使用Java語(yǔ)言編寫(xiě)的應(yīng)用程序訪(fǎng)問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)、獲取數(shù)據(jù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新存儲(chǔ)。Java和JDBC的結(jié)合,減輕了學(xué)生的學(xué)習(xí)負(fù)擔(dān)(學(xué)生不必去學(xué)習(xí)每種數(shù)據(jù)庫(kù)的知識(shí)),提高了開(kāi)發(fā)效率。
JDBC驅(qū)動(dòng)程序共分為四種類(lèi)型,如下圖:
在教學(xué)中采用第四種方法完成相應(yīng)任務(wù)。
對(duì)于高職學(xué)生,以上理論的講解盡量言簡(jiǎn)意賅,并采用圖示,動(dòng)畫(huà)演示,播放視頻等教學(xué)手段完成,Java的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的教學(xué)目標(biāo)是學(xué)生能夠掌握J(rèn)DBC數(shù)據(jù)庫(kù)連接的基本步驟和方法,運(yùn)用JDBC技術(shù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),能夠進(jìn)行數(shù)據(jù)庫(kù)編程。為完成這些教學(xué)目標(biāo),我們?cè)O(shè)計(jì)了相應(yīng)任務(wù),完成用戶(hù)的登錄功能。用戶(hù)登錄時(shí)進(jìn)行身份驗(yàn)證,暫時(shí)假設(shè)用戶(hù)名為aaa,密碼為123,而實(shí)際的開(kāi)發(fā)過(guò)程中需要從數(shù)據(jù)庫(kù)中查詢(xún)相應(yīng)的用戶(hù)名和密碼,如果數(shù)據(jù)庫(kù)中存在匹配的用戶(hù)名和密碼,則登錄成功,進(jìn)入主界面;否則登錄失敗。
以下代碼可以作為模板,只需替換相應(yīng)的url、登錄用戶(hù)名和密碼,然后替換要發(fā)達(dá)到數(shù)據(jù)庫(kù)的SQL語(yǔ)句利用Eclipse連接數(shù)據(jù)庫(kù)。Eclipse可以很方便地連接數(shù)據(jù)庫(kù),提供可視化的界面和方便的配置。首先啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器,在Jav項(xiàng)目名稱(chēng)上單擊右鍵,選擇“Build Path”→“Add External Archives…”將數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序的路徑加載進(jìn)來(lái)。在教學(xué)中使用SQLSERVER2000數(shù)據(jù)庫(kù),需要加載3個(gè)jar文件,mssql.jar、mabase.jar、msutil.jar,實(shí)例化數(shù)據(jù)庫(kù)連接驅(qū)動(dòng)類(lèi),并將其注冊(cè)到DriverManager中。
配置好數(shù)據(jù)庫(kù)的驅(qū)動(dòng)之后,就可以針對(duì)登錄的要求編寫(xiě)程序了。由于數(shù)據(jù)庫(kù)的代碼在系統(tǒng)的每個(gè)功能模塊中都會(huì)用到,因此為了做到代碼的利用,單獨(dú)定義一個(gè)類(lèi),負(fù)責(zé)數(shù)據(jù)庫(kù)的連接。在程序中需要連接到數(shù)據(jù)庫(kù)時(shí),只需要調(diào)用該類(lèi)的方法即可,這樣可以大大提高代碼的利用性和可維護(hù)性,簡(jiǎn)化工作。
具體步驟如下:
1.引入類(lèi)包
2.定義一個(gè)類(lèi)
3.指定要加載的驅(qū)動(dòng)
4.指定連接的字符串
5.設(shè)置登錄用戶(hù)名和密碼
6.定義構(gòu)造方法
進(jìn)行登錄界面的修改,因?yàn)橛脩?hù)名和密碼的驗(yàn)證發(fā)生在用戶(hù)單擊“確定”命令按鈕的時(shí)刻,所以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的代碼應(yīng)該放在“確定”命令按鈕的事件監(jiān)聽(tīng)器中,關(guān)鍵代碼如下:
在高職軟件技術(shù)專(zhuān)業(yè)的教學(xué)中,Java語(yǔ)言是專(zhuān)業(yè)基礎(chǔ)的核心課程,通過(guò)登錄任務(wù)的學(xué)習(xí),學(xué)生既可以掌握利用JDBC進(jìn)行數(shù)據(jù)庫(kù)連接的步驟和數(shù)據(jù)庫(kù)查詢(xún)的方法,也提高了學(xué)習(xí)的興趣,為下一步學(xué)習(xí)數(shù)據(jù)庫(kù)的增、刪、改操作打下良好的基礎(chǔ),達(dá)到了預(yù)期的教學(xué)目標(biāo)。
[1]張誠(chéng)潔,梁海麗.Java程序設(shè)計(jì)與實(shí)踐教程[M].科學(xué)出版社,2012
[2]李相國(guó).Java實(shí)例精通[M].機(jī)械工業(yè)出版社,2009
[3]谷慶華,李成貴.基于Java語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)[J].計(jì)算機(jī)技術(shù)與發(fā)展.2008
[4]吳家驥,李德河.利用Java JDBC進(jìn)行數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)[J].陜西天文臺(tái)臺(tái)刊.2001
趙丹丹(1968-),女,山東威海人,副教授,工程碩士,研究方向:軟件技術(shù)教育。
新教育時(shí)代電子雜志(學(xué)生版)2015年29期