




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《電商web云平臺開發(fā)》課程教案教學(xué)模塊項目三搭建電商平臺數(shù)據(jù)處理Mybais項目課時數(shù)24教學(xué)班級主講教師教學(xué)目的和要求知識目標(biāo)1.理解MyBatis框架以及工作原理;2.了解MyBatis與Hibernate區(qū)別;3.認(rèn)識MyBatis常用標(biāo)簽以及配置文檔。能力目標(biāo)1.掌握MyBatis單表CRUD操作;2.掌握Mapper動態(tài)代理開發(fā)技巧;3.掌握MyBatis單表curd操作;4.掌握MyBatis多表關(guān)聯(lián)關(guān)系查詢設(shè)置。素養(yǎng)目標(biāo)1.通過搭建電商平臺數(shù)據(jù)處理的MyBatis項目培養(yǎng)學(xué)生學(xué)習(xí)開發(fā)語言的興趣;2.通過MyBatis相關(guān)操作的實現(xiàn)來鍛煉學(xué)生規(guī)范的編碼能力。教學(xué)手法1.在理論知識講解中,教師以引導(dǎo)法、討論法、啟發(fā)法和提問法為主,激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生主動參與到學(xué)習(xí)中去,主動探索,積極思考問題,從而對相關(guān)知識概念理解掌握。2.在實踐學(xué)習(xí)中,教師以演示法、指導(dǎo)法為主,讓學(xué)生在實踐操作中發(fā)現(xiàn)問題,教師及時予以指導(dǎo),使其能夠?qū)⑺鶎W(xué)知識靈活運用到實踐操作之中,掌握相關(guān)技能知識的操作。3.在教學(xué)實踐中,教師應(yīng)以學(xué)生為主體,充分發(fā)揮學(xué)生的主觀能動性。并且教師也應(yīng)充分利用多媒體教學(xué)方式及網(wǎng)絡(luò)課程資源,使課堂教學(xué)活動更加生動活躍,學(xué)生能夠積極參與其中。教學(xué)重難點重點:1.MyBatis框架以及工作原理;2.MyBatis與Hibernate區(qū)別;3.MyBatis常用標(biāo)簽以及配置文檔;4.通過MyBatis相關(guān)操作的實現(xiàn)來鍛煉學(xué)生規(guī)范的編碼能力。難點:1.MyBatis單表CRUD操作;2.Mapper動態(tài)代理開發(fā)技巧;3.MyBatis多表關(guān)聯(lián)關(guān)系查詢設(shè)置。教學(xué)要點設(shè)計1.通過講解MyBatis的起源、簡介、特點以及工作原理,讓學(xué)生對MyBatis有一個初步的認(rèn)知。(90分鐘)2.通過講解DAO接口、Mapper映射文件、日志控制文件和從屬性文件中讀取DB鏈接的相關(guān)知識,讓學(xué)生認(rèn)識并掌握掌握MyBatis的基礎(chǔ)配置。(270分鐘)3.通過真實、具體的案例,以操作演示的方法向?qū)W生講解在Mapper.xml文件中映射插入、刪除、查詢和修改的技巧方法,讓學(xué)生熟悉并掌握MyBatis單表CRUD操作的相關(guān)技能。(360分鐘)4.通過真實、具體的案例,以操作演示的方法向?qū)W生講解MyBatis關(guān)聯(lián)查詢分類和緩存查詢概念的相關(guān)知識,讓學(xué)生熟悉并掌握MyBatis多表關(guān)聯(lián)查詢設(shè)置的相關(guān)技能。(360分鐘)教學(xué)過程任務(wù)一認(rèn)知MyBatis【預(yù)備知識】一、MyBatis起源iBatis一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架,包括SQLMaps和DataAccessObjects(Dao)。MyBatis本來是Apache的一個開源項目iBatis,2010年,此開源項目從ApacheSoftwareFoundation遷移到了GoogleCode,并且正式更名為MyBatis。2013年11月遷移到GitHub,所以目前MyBatis是由GitHub維護(hù)的。二、MyBatis簡介MyBatis是一個更靈活、更方便的機(jī)遇Java的持久層框架,彌補(bǔ)了Hibernate的缺陷,其內(nèi)部封裝了JDBC,開發(fā)人員只需要編寫SQL,不用再耗費精力去處理注冊驅(qū)動、創(chuàng)建Connection、配置Statement等。MyBatis體系結(jié)構(gòu)分為API接口層、數(shù)據(jù)處理層、基礎(chǔ)支持層。MyBatis通過XML或注解的方式將要執(zhí)行的各種Statement配置起來,并通過Java對象和Statement中SQL的動態(tài)參數(shù)進(jìn)行映射,生成最終執(zhí)行的SQL語句,最后由MyBatis框架執(zhí)行SQL并將結(jié)果映射成Java對象并返回。MyBatis體系結(jié)構(gòu)分為API接口層、數(shù)據(jù)處理層、基礎(chǔ)支持層,每層作用解析如圖所示:【任務(wù)實施與準(zhǔn)備】了解MyBatis框架的下載和MyBatis核心jar包的作用:步驟1:下載MyBatis相關(guān)的包1.在GitHub官網(wǎng)下載MyBatis,網(wǎng)址為“\hhttps://GitH/MyBatis”,打開GitHub網(wǎng)址點擊“MyBatis-3”進(jìn)行下載;2.點擊頁面中的MyBatis3.3.0.zip下載MyBatis的zip包。步驟2:MyBatisJar包說明MyBatis框架的解壓目錄中有一個Jar包,它是MyBatis的核心Jar包。還有一個lib目錄,存放著MyBatis所依賴的Jar包。開發(fā)人員在使用MyBatis時需要導(dǎo)入其核心Jar包以及l(fā)ib下的所有jar包?!舅颊≌n堂】漢字國標(biāo)碼,創(chuàng)建于1980年,目的為了使每個漢字有一個全國統(tǒng)一的代碼而頒布了漢字編碼的國家標(biāo)準(zhǔn)。每個漢字有個二進(jìn)制編碼,叫漢字國標(biāo)碼。計算機(jī)只識別由0、1組成的代碼,ASCII碼是英文信息處理的標(biāo)準(zhǔn)編碼,漢字信息處理也必須有一個統(tǒng)一的標(biāo)準(zhǔn)編碼。我國國家標(biāo)準(zhǔn)局于1981年5月頒布了《信息交換用漢字編碼字符集——基本集》,代號為GB2312-80,共對6763個漢字和682個圖形字符進(jìn)行了編碼,其編碼原則為:漢字用兩個字節(jié)表示,每個字節(jié)用七位碼(高位為0)。國家標(biāo)準(zhǔn)將漢字和圖形符號排列在一個94行94列的二維代碼表中,每兩個字節(jié)分別用兩位十進(jìn)制編碼,前字節(jié)的編碼稱為區(qū)碼,后字節(jié)的編碼稱為位碼,此即區(qū)位碼,如“?!弊衷诙S代碼表中處于17區(qū)第3位,區(qū)位碼即為“1703”?!就卣怪R】一、MyBatis與Hibernate區(qū)別Hibernate提供了全面的數(shù)據(jù)庫封裝機(jī)制的“全自動”O(jiān)RM,而MyBatis只能算作是“半自動”O(jiān)RM;MyBatis能夠?qū)崿F(xiàn)比Hibernate等全自動ORM框架更高的查詢效率,能夠完成復(fù)雜查詢。對比兩種框架,MyBatis有以下優(yōu)點:1.在XML文件中配置SQL語句,實現(xiàn)了SQL語句與代碼的分離,給程序的維護(hù)帶來了很大便利。2.程序員需要編寫SQL語句,可以結(jié)合數(shù)據(jù)庫自身的特點靈活控制SQL語句。因此,MyBatis能夠?qū)崿F(xiàn)比Hibernate等全自動ORM框架更高的查詢效率,能夠完成復(fù)雜查詢。二、MyBatis的特點1.輕量、體積小。2.靈活。3.高效。4.能夠和Spring進(jìn)行很好的整合。5.簡單易學(xué)。任務(wù)二掌握MyBatis的基礎(chǔ)配置【預(yù)備知識】一、DAO接口DAO(DataAccessObject的簡稱)是一種應(yīng)用程序編程接口,放在業(yè)務(wù)邏輯與數(shù)據(jù)庫資源中間,需要通過SqlSession對象來操作DB。二、Mapper映射文件Mapper映射文件是一個xml格式文件,主要完成DAO層中SQL語句的映射,以<mapper>作為根節(jié)點,在根節(jié)點中支持insert、update、delete、select(增、刪、改、查)、cache、cache-ref、resultMap、parameterMap、SQL等9個元素。三、日志控制文件MyBatis使用Log4j進(jìn)行日志處理,所以需要在MyBatis中將perties放入到項目的src目錄下。四、從屬性文件中讀取DB鏈接為了方便對數(shù)據(jù)庫連接的管理,DB連接數(shù)據(jù)一般都是存放在一個專門的屬性文件中的,方便MyBatis主配置文件從這個屬性文件中讀取這些數(shù)據(jù)。【任務(wù)實施與準(zhǔn)備】步驟1:MyBatis主配置文件功能MyBatis主配置文件名可以隨意命名,其主要能夠完成以下幾個功能:(1)注冊存放DB連接四要素的屬性文件;(2)注冊實體類的全限定性類名的別名;(3)配置MyBatis運行環(huán)境,即數(shù)據(jù)源與事務(wù)管器;(4)注冊映射文件。步驟2:MyBatis主配置文件標(biāo)簽解析MyBatis主配置文件標(biāo)簽有以下幾個:(1)<configuration>標(biāo)簽:指定配置文檔標(biāo)簽;(2)<properties>標(biāo)簽:注冊屬性文件;(3)<package>標(biāo)簽:指定實體類的別名;(4)<typealias>標(biāo)簽:指定實體類的別名;(5)<environments>標(biāo)簽:指定當(dāng)前MyBatis運行時所選擇使用的環(huán)境;(6)<transactionManager>標(biāo)簽:用于指定MyBatis所使用的事務(wù)管理器;(7)<dataSource>標(biāo)簽:用于配置MyBatis使用的數(shù)據(jù)源類型與數(shù)據(jù)庫連接基本屬性;(8)<mappers>標(biāo)簽:采用<mapper/>標(biāo)簽注冊映射文件,一般有<mapperresource=“”>、<mapperurl=“”>、<mapperclass=“”>、<packagename=“”>四種方式。步驟3:映射文件解析MyBatis是“半自動”的ORM框架,MyBatis的關(guān)注點在POJO與SQL之間的映射關(guān)系,映射文件里完成SQL語句配置。映射文件中的常用標(biāo)簽含義如下:(1)namespace用于綁定DAO接口的,當(dāng)namespace綁定接口后,開發(fā)人員可以不用寫接口實現(xiàn)類,MyBatis會通過該綁定自動幫你找到對應(yīng)要執(zhí)行的SQL語句;(2)cache指定命名空間的緩存配置;(3)cache-ref指定在其他命名空間緩存配置的引用;(4)resultMap是最復(fù)雜也是最強(qiáng)大的元素,用來描述如何從數(shù)據(jù)庫結(jié)果集中來加載對象;(5)SQL元素可以被用來定義可重用的SQL代碼段;(6)insert指定映射插入語句;(7)update指定映射更新語句;(8)delete指定映射刪除語句;(9)select指定映射查詢語句。【拓展知識】一、MyBatis入門程序搭建1.創(chuàng)建MyBatis_demo1程序2.導(dǎo)入相應(yīng)的jar文件3.在數(shù)據(jù)庫中生成表結(jié)構(gòu)4.定義實體類5.定義Dao接口6.定義映射文件7.MyBatis主配置文件8.創(chuàng)建工具類MyBatisUtil9.定義DAO實現(xiàn)類10.定義測試類11.添加日志文件12.運行測試類測試方法輸出結(jié)果【思政小課堂】1995年1月,郵電部分別在北京、上海開通了64K專線,開始嘗試向社會提供國際互聯(lián)網(wǎng)接入服務(wù)。5月,中國電信開始籌建中國公用計算機(jī)互聯(lián)網(wǎng)(ChinaNet)全國骨干網(wǎng),開始了互聯(lián)網(wǎng)在中國的大規(guī)模建設(shè)。而后,5月17日,在第27個世界電信日,中國互聯(lián)網(wǎng)的社會化時間開始。就在那一天,郵電部正式宣布向國內(nèi)社會開放計算機(jī)互聯(lián)網(wǎng)接入服務(wù)。在北京西單電貿(mào)大樓,郵電部專門設(shè)立了業(yè)務(wù)受理點,普通人只要繳納一定費用,填寫一張用戶資料表格,就可以成為互聯(lián)網(wǎng)用戶。在此之前的互聯(lián)網(wǎng)由于網(wǎng)絡(luò)規(guī)模小、傳輸速率低、操作復(fù)雜,使用只局限于科研人員和計算機(jī)專業(yè)人員。于是很多中國人眼中,計算機(jī)和互聯(lián)網(wǎng)都是與科學(xué)研究劃等號的。所以為了吊起大眾的胃口,郵電部不僅在《人民日報》上刊登推廣互聯(lián)網(wǎng)的廣告,還在當(dāng)時的北京圖書館(如今的國家圖書館)舉辦了為期6天的“中國公用數(shù)據(jù)通信演示周”活動。而當(dāng)時負(fù)責(zé)組織、領(lǐng)導(dǎo)建立起全國范圍內(nèi)技術(shù)先進(jìn)的數(shù)據(jù)通信網(wǎng)絡(luò)工作的,正是時任郵電部數(shù)據(jù)通信局局長——劉韻潔。作為CHINANET的重要奠基人,劉韻潔被譽(yù)為"中國互聯(lián)網(wǎng)絡(luò)之父",并被美國《時代周刊》評為全球50位數(shù)字英雄之一。任務(wù)三MyBatis單表CRUD操作【預(yù)備知識】一、在Mapper.xml文件中映射增刪改查1.insert標(biāo)簽映射插入語句。2.update標(biāo)簽映射更新語句。3.delete映射刪除語句。4.select映射查詢語句【任務(wù)實施與準(zhǔn)備】步驟1:創(chuàng)建項目MyBatis_demo2步驟2:修改基本類步驟2.1:修改DAO接口步驟2.2:修改實現(xiàn)類步驟2.3:修改測試類步驟3:實現(xiàn)用戶插入功能步驟3.1:創(chuàng)建映射方法步驟3.2:修改Dao實現(xiàn)類步驟3.3:創(chuàng)建測試方法步驟4:實現(xiàn)用戶更新功能步驟4.1:創(chuàng)建映射方法步驟4.2:修改Dao實現(xiàn)類步驟4.3:創(chuàng)建測試方法步驟5:實現(xiàn)用戶查詢功能步驟5.1:創(chuàng)建映射方法步驟5.2:修改Dao實現(xiàn)類步驟5.3:創(chuàng)建測試方法步驟6:實現(xiàn)刪除查詢功能步驟6.1:創(chuàng)建映射方法步驟6.2:修改Dao實現(xiàn)類步驟6.3:創(chuàng)建測試方法【拓展知識】一、實現(xiàn)根據(jù)用戶名模糊查詢功能1.創(chuàng)建映射方法2.修改Dao實現(xiàn)類3.創(chuàng)建測試方法二、多參數(shù)查詢用戶信息1.創(chuàng)建映射方法2.修改Dao實現(xiàn)類3.創(chuàng)建測試方法4.實體屬性參數(shù)傳值5.修改DAO實現(xiàn)類三、mapper動態(tài)代理1.創(chuàng)建MyBatis_demo3程序2.認(rèn)識映射文件的namespace屬性值3.修改映射文件對應(yīng)的namespace值4.修改日志輸出控制文件5.DAO接口方法名命名規(guī)則說明6.DAO對象的獲取方式7.刪除DAO實現(xiàn)類8.修改測試類(1)@Before與@After注解方法(2)添加SqlSession的提交方法(3)刪除selectStudentMap()方法測試9.動態(tài)代理結(jié)果展示四、SQL動態(tài)查詢1.了解SQL動態(tài)標(biāo)簽(1)<if>標(biāo)簽(2)<where>標(biāo)簽(3)<choose/>標(biāo)簽(4)<foreach>標(biāo)簽(5)<SQL>標(biāo)簽(6)<include>2.創(chuàng)建映射方法3.創(chuàng)建Dao接口方法4.創(chuàng)建測試方法任務(wù)四MyBatis多表關(guān)聯(lián)操作【預(yù)備知識】一、MyBatis關(guān)聯(lián)查詢分類當(dāng)查詢內(nèi)容涉及具有關(guān)聯(lián)關(guān)系的多個表時,就需要使用關(guān)聯(lián)查詢。根據(jù)表與表間的關(guān)聯(lián)關(guān)系的不同,關(guān)聯(lián)查詢分為四種:1.一對一關(guān)聯(lián)查詢;2.一對多關(guān)聯(lián)查詢;3.多對一關(guān)聯(lián)查詢;4.多對多關(guān)聯(lián)查詢。二、緩存查詢概念查詢緩存的使用主要是為了提高查詢訪問速度,將用戶對同一數(shù)據(jù)的重復(fù)查詢過程簡化,不再每次均從數(shù)據(jù)庫查詢獲取結(jié)果數(shù)據(jù),從而提高訪問速度。MyBatis的查詢緩存機(jī)制根據(jù)緩存區(qū)的作用域(生命周期)可劃分為一級查詢緩存與二級查詢緩存。1.一級查詢緩存MyBatis的一級查詢緩存是本地緩存,它是基于org.apache.ibatis.cache.impl.PerpetualCache類的HashMap本地緩存,其作用域是SqlSession。如果在同一個SqlSession中兩次執(zhí)行相同的SQL查詢語句,第一次執(zhí)行完畢后,會將查詢結(jié)果寫入到緩存中,第二次會從緩存中直接獲取數(shù)據(jù),而不再到數(shù)據(jù)庫中進(jìn)行查詢,從而提高查詢效率。當(dāng)一個SqlSession結(jié)束后,該SqlSession中的一級查詢緩存也就不存在了。MyBatis默認(rèn)一級查詢緩存是開啟狀態(tài),且不能關(guān)閉。2.二級查詢緩存MyBatis查詢緩存的作用域是根據(jù)映射文件mapper的namespace劃分的,相同namespace的mapper查詢數(shù)據(jù)存放在同一個緩存區(qū)域。不同namespace下的數(shù)據(jù)互不干擾?!救蝿?wù)實施與準(zhǔn)備】多表關(guān)聯(lián)關(guān)系查詢設(shè)置流程:步驟1:一對多關(guān)聯(lián)查詢步驟1.1:創(chuàng)建MyBatis_demo4程序步驟1.2:定義實體步驟1.3:定義數(shù)據(jù)庫表步驟1.4:定義Dao接口步驟1.5:定義測試類步驟1.6:定義映射方法步驟1.7:注冊映射文件步驟1.8:測試結(jié)果展示步驟2:多對一關(guān)聯(lián)查詢步驟2.1:定義實體步驟2.2:定義數(shù)據(jù)庫表步驟2.3:定義Dao接口步驟2.4:定義測試類步驟2.5:定義映射方法步驟2.6:注冊映射文件步驟2.7:測試結(jié)果展示步驟3:自聯(lián)查詢步驟3.1:修改映射方法步驟3
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工建筑勞務(wù)合同范本
- 入園合同范例
- 個人陶瓷采購合同范本
- 勞務(wù)派遣補(bǔ)充合同范本
- 切磚清工合同范本
- 光明果蔬配送合同范本
- 借款合同范本網(wǎng)上查詢
- 轉(zhuǎn)租飯店合同范本
- 凈化車間改造工程合同范本
- 會所會籍合同范本
- 公司銀行貸款申請書范文
- 機(jī)械設(shè)計制造及其自動化專業(yè)知識
- 鋼結(jié)構(gòu)地下停車場方案
- 《上市公司治理培訓(xùn)》課件
- 新人教版小學(xué)五年級數(shù)學(xué)下冊《第一單元 觀察物體(三)》2022課標(biāo)大單元整體教學(xué)設(shè)計-全析
- 期末測試卷(二)(試題 )2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版
- 天津市2023-2024學(xué)年高二上學(xué)期期末考試物理試題(含答案)
- 《光伏電站運行與維護(hù)》課件-項目五 光伏電站常見故障處理
- 第九單元 課題1 溶液及其應(yīng)用-2024-2025學(xué)年九年級化學(xué)下人教版教學(xué)課件
- 《大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)教程》教學(xué)教案
- 2024專利代理人考試真題及答案
評論
0/150
提交評論