版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java EE企業(yè)級(jí)應(yīng)用開發(fā)教程CSpring+SpringMVC+MyBatisJ(第2板)教學(xué)設(shè)計(jì)課程名稱:授課年級(jí):授課學(xué)期:教師找名:的冗余,以簡(jiǎn)化操作。(2)如果有多個(gè)全限定類需要設(shè)置別名,有以下兩種方式可以完成設(shè)置。在typeAliases兀素下,使用多個(gè)typeAlias元素為每 個(gè)全限7E 類逐個(gè)配置別名。通過自動(dòng)掃描包的形式自定義別名。(3) MyBatis框架還為許多常見的Java類型(如數(shù)值、字符串、日期和 集合等)提供了相應(yīng)的默認(rèn)別名,如byte對(duì)應(yīng)的別名為_byte、long對(duì)應(yīng)的別 名為ong、Byte對(duì)應(yīng)的別名為byte等。知識(shí)點(diǎn) 3-environments教師
2、通過PPT的方式講解(environments兀素。MyBatis通過environments)元素定義一個(gè)運(yùn)行環(huán)境。environments元素WW個(gè)子兀素,transactionManager元素和 daraSource 元素。transactionManager元素用于配置運(yùn)行環(huán)境的事務(wù)管理器,可以配 置兩種類型的事務(wù)管理器,分別是JDBC和MANAGEDdaraSource元素用于配置運(yùn)行環(huán)境的數(shù)據(jù)源信息。MyBatis框架提供了 UNPOOLEI)、POOLED和JNDI三種數(shù)據(jù)源類型。UNPOOLEDUNPOOLED表示數(shù)據(jù)源為無連接池類型。配置此數(shù)據(jù)源類型后,程序在每次 被請(qǐng)求時(shí)
3、會(huì)翻開和關(guān)閉數(shù)據(jù)庫連接。UNPOOLED適用于對(duì)性能要求不高的簡(jiǎn)單應(yīng) 用程序。POOLEDPOOLED表示數(shù)據(jù)源為連接池類型。POOLED數(shù)據(jù)源利用“池”的概念將JDBC 連接對(duì)象組織起來,節(jié)省了在創(chuàng)立新的連接對(duì)象時(shí)需要初始化和認(rèn)證的時(shí)間。JNDIJNDI表示數(shù)據(jù)源可以在EJB或應(yīng)用服務(wù)器等容器中使用。知識(shí)點(diǎn)4Ymappers兒素教師通過PPT的方式講解mappers元素。(1)mappers元素用于引入MyBatis映射文件。(2)映射文件包含了 POJO對(duì)象和數(shù)據(jù)表之間的映射信息,MyBatis通過 核心配置文件中的mappers元素找到映射文件并解析其中的映射信息。(3)mappers兀
4、素引入映射文件的4種方法,具體如下。使用類路徑引入使用本地文件路徑引入使用接口類引入使用包名引入四、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作、也教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第三課時(shí)(MyBatis映射文件中的常用兀素、select)兀素、兀素、 7tN 7U)一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講解。一、通過直接導(dǎo)入的方式導(dǎo)入新課MyBatis的真正強(qiáng)大之處在于可以配置SQL映射語句。相比于JDBC,使用 MyBatis可使SQL映射配置的代碼
5、量大大減少,并且MyBatis專注于SQL語句, 對(duì)于開發(fā)人員來說,進(jìn)行工程開發(fā)時(shí),使用MyBatis的SQL映射配置可最大限 度地進(jìn)行SQL調(diào)優(yōu),以保證性能。MyBatis通過許多特定的兀素將SQL映射 語句配置在映射文件中。下面將對(duì)MyBatis映射文件及其元素進(jìn)行詳細(xì)講解。 三、新課講解知識(shí)點(diǎn)1-MyBatis映射文件中的常用元素教師通過PPT的方式講解MyBatis映射文件中的常用元素。(1)mapper元素是映射文件的根元素,其他元素都是它的子元素。MyBatis映射文件中的常用元素。mapper:映射文件的根元素cache:配置給定命名空間的緩存 :從其他命名空間引用緩存配置 :用
6、于映射查詢語句:用于映射插入語句:用于映射更新語句delete:用于映射刪除語句:可以重用的SQL塊,也可以被其他語句使用:描述數(shù)據(jù)庫結(jié)果集和對(duì)象的對(duì)應(yīng)關(guān)系知識(shí)點(diǎn)2-516(兒素教師通過PPT的方式講解select元素。(l)元素用來映射查詢語句,它可以從數(shù)據(jù)庫中查詢數(shù)據(jù)并返回。 (2)select元素的常用屬性,具體如下。id:表示命名空間中(select元素的唯一標(biāo)識(shí)。parameterType:用于指定SQL語句所需參數(shù)類的全限定類名或者別 名。resultType:用于指定執(zhí)行這條SQL語句返回的類的全限定類名或別 名。resultMap:表示外部resultMap的命名引用。flus
7、hCache:用于指定SQL語句被調(diào)用之后,是否需耍MyBatis清空 本地緩存和二級(jí)緩存。useCache:用于控制二級(jí)緩存的開啟和關(guān)閉。timeout:用于設(shè)置超時(shí)時(shí)間。fetchSize:獲取記錄的總條數(shù)設(shè)定。statementType:用于設(shè)置MyBatis預(yù)處理類。resultSetType:表示結(jié)果集的類型。keyProperty:將插入或更新操作的返回值賦值給P0J0類的某個(gè)屬 性。keyColumn:用于設(shè)置第幾列是主鍵,當(dāng)主鍵列不是表中的第一列時(shí)需 要設(shè)置。useGeneratedKeys : 該 屬 性 會(huì) 使 MyBatis 調(diào) 用 JDBC 的 getGenerated
8、Keys ()方法來獲取由數(shù)據(jù)庫內(nèi)部生產(chǎn)的主鍵。(3)通過例如代碼演示使用(select元素執(zhí)行查詢操作知識(shí)點(diǎn)3Yinsert兒素教師通過PPT的方式講解insert兀素。(1)insert元素用于映射插入語句。(2)在執(zhí)行完insert元素中定義的SQL語句后,會(huì)返回插入記錄的數(shù) 量。(3)支持主鍵自動(dòng)增長(zhǎng)的數(shù)據(jù)庫獲取主鍵值和不支持主鍵自動(dòng)增長(zhǎng)的數(shù)據(jù) 庫獲取主鍵值的方式。使用支持主鍵自動(dòng)增長(zhǎng)的數(shù)據(jù)庫獲取主鍵值如果使用的數(shù)據(jù)庫支持主鍵自動(dòng)增長(zhǎng)(如MySQL和SQL Server),那么可 以通過keyProperty屬性指定POJO類的某個(gè)屬性接收主鍵返回值(通常會(huì)設(shè)置 到id屬性上),然后將
9、useGeneratedKeys的屬性值設(shè)置為true。使用不支持主鍵自動(dòng)增長(zhǎng)的數(shù)據(jù)庫獲取主鍵值如果使用的數(shù)據(jù)庫不支持主鍵自動(dòng)增長(zhǎng)(如Oracle),或者支持增長(zhǎng)的數(shù) 據(jù)庫取消了主鍵自增的規(guī)那么,可以使用MyBatis提供的selectKey元素來自定 義主鍵。(4)通過例如代碼演示使用(insert元素執(zhí)行插入操作。知識(shí)點(diǎn)4Yupdate元素教師通過PPT的方式講解update兀素。(1)update元素用于映射更新語句,它可以更新數(shù)據(jù)庫中的數(shù)據(jù)。(2)在執(zhí)行完元素中定義的SQL語句后,會(huì)返回更新的記錄數(shù)量。(3)通過例如代碼演示使用(update元素執(zhí)行更新操作。知識(shí)點(diǎn)5Ydelete兒素
10、教師通過PPT的方式講解delete元素。(1)delete元素用于映射刪除語句(2)在執(zhí)行完delete元素中的SQL語句之后,會(huì)返回刪除的記錄數(shù)量。(3)delete)元素的常用屬性,具體如下。select元素的常用屬性,具體如下。id:表示命名空間中的唯一標(biāo)識(shí)。parameterType:用于指定SQL語句所需參數(shù)類的全限定類名或者別 名。flushCache:用于指定SQL語句被調(diào)用之后,是否需要MyBatis清空 本地緩存和二級(jí)緩存。timeout:用于設(shè)置超時(shí)時(shí)間。statementType:用于設(shè)置MyBatis預(yù)處理類。(4)通過例如代碼演示使用delete元素執(zhí)行刪除操作。四
11、、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第四課時(shí)(sql元素、resultMap元素)一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講解。二、通過直接導(dǎo)入的方式導(dǎo)入新課掌握了 My Bat is映射文件中的局部元素后,接下繼續(xù)學(xué)習(xí)映射文件中的 sql 元素和 resultMap 元素。 三、新課講解知識(shí)點(diǎn)lYsql元素教師通過PPT的方式講解sql元素。(1)sql元素的作用是定義可重用的SQL代碼片段,它可以被包含在其
12、他語句中。(2) sql元素可以被靜態(tài)地(在加載參數(shù)時(shí))參數(shù)化,sql元素不同的 屬性值通過包含的對(duì)象發(fā)生變化。知識(shí)點(diǎn)2YresultMap元素教師通過PPT結(jié)合實(shí)際操作的方式講解(resultMap元素。resultMap元素表示結(jié)果映射集,是MyBatis中最重要也是功能最 強(qiáng)大的元素。resultMap元素主要作用是定義映射規(guī)那么、更新級(jí)聯(lián)以及定義類型 轉(zhuǎn)化器等。(3)通過一個(gè)具體的案例演示使用resultMap元素進(jìn)行結(jié)果集映射。四、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作
13、業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第五課時(shí)(上機(jī)練習(xí))上機(jī)一:(考察知識(shí)點(diǎn)為案例:?jiǎn)T工管理系統(tǒng))形式:?jiǎn)为?dú)完成題目:?jiǎn)T工管理系統(tǒng)的增刪改查本案例要求在數(shù)據(jù)庫中創(chuàng)立一個(gè)employee表,并利用本章所學(xué)知識(shí)完成一 個(gè)員工管理系統(tǒng),該系統(tǒng)需要實(shí)現(xiàn)以下幾個(gè)功能。.根據(jù)id查詢員工信息。.新增員工信息。.根據(jù)id修改員工信息。.根據(jù)id刪除員工信息。實(shí)現(xiàn)步驟:(1)搭建工程創(chuàng)立一個(gè)名稱為mybatisdemo的工程,工程的具體搭建過程請(qǐng)參考1. 3節(jié)。 (2)數(shù)據(jù)準(zhǔn)備在mybatis數(shù)據(jù)庫中創(chuàng)立employee表,并在employee表中插入如下數(shù)據(jù)。 員工表(employee)如下:?jiǎn)T工表(employee
14、)員工編號(hào) (id)商品名稱 (name)員工年齡 (age)員工職位 (position)1張三20員工2李四18員工3王五35經(jīng)理POJO類準(zhǔn)備在工程 src/main/java 目錄 下創(chuàng)立 com. itheima. pojo 包, 在 com. itheima. pojo包下創(chuàng)立持久化類Employee,并在類中聲明id (編號(hào))、 name (姓名)、age (年齡)和position (職位)屬性,以及屬性對(duì)應(yīng)的 getter/setter 方法。(4)編寫映射文件在工程 src/main/java 目錄下創(chuàng)立 com. itheima. mapper 包, 在 com. ith
15、eima. mapper包下創(chuàng)立映射文件EmployeeMapper. xml,該文件主要用于 實(shí)現(xiàn)SQL語句和Java對(duì)象之間的映射。(5)修改mybatis-conf ig. xml核心配置文件在 mybatis-config. xml 映射文件的mappers元素下添加 EmployeeMapper. xml映射文件路徑的配置,用于將EmployeeMapper. xml映射 文件加載到程序中。(6)編寫MyBatisUtils工具類在工程 src/main/java 目 錄下倉U 建 com. itheima. utils 包, 在 com. itheima. utils包下創(chuàng)立MyB
16、atisUtils工具類,該類用于封裝讀取配置文 件信息的代碼。(7)編寫測(cè)試類在工程src/test/java目錄下創(chuàng)立Test包,在Test包下創(chuàng)立測(cè)試類,該 類主要用于程序測(cè)試。教學(xué)后記Java EE企業(yè)級(jí)應(yīng)用開發(fā)教程CSpring+SpringMVC+MyBatisJ(第2板)教學(xué)設(shè)計(jì)課程名稱:授課年級(jí):授課學(xué)期:教師找名:教學(xué)引入在實(shí)際工程的開發(fā)中,開發(fā)人員在使用JDBC或其他持久層框架進(jìn)行開發(fā) 時(shí),經(jīng)常需要根據(jù)不同的條件拼接SQL語句,拼接SQL語句時(shí)還要確保不能遺 漏必要的空格、標(biāo)點(diǎn)符號(hào)等,這種編程方式給開發(fā)人員帶來了極大的不便,而 MyBatis提供的SQL語句動(dòng)態(tài)組裝功能,恰
17、能很好地解決這一問題。本章將針 對(duì)MyBatis框架的動(dòng)態(tài)SQL進(jìn)行詳細(xì)講解。教學(xué)目標(biāo)使學(xué)生掌握MyBatis中動(dòng)態(tài)SQL元素的使用使學(xué)生掌握MyBatis的條件查詢操作使學(xué)生掌握MyBatis的更新操作使學(xué)生掌握MyBatis的復(fù)雜查詢操作教學(xué)重點(diǎn)choose、otherwise元素where元素更新操作foreach元素迭代 List元素迭代 Map教學(xué)難點(diǎn) 元素迭代 List 元素迭代 Map教學(xué)方式課堂教學(xué)以PPT講授為主,并結(jié)合多媒體進(jìn)行教學(xué)教 學(xué) 過 程第一課時(shí)(動(dòng)態(tài) SQL 中的兀素、兀素、when、7C素) 一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再
18、次鞏固 講解。二、創(chuàng)設(shè),情景,導(dǎo)入新課在進(jìn)行數(shù)據(jù)庫的操作時(shí),涉及較多的操作便是拼接SQL語句。對(duì)于拼接好 的SQL語句,如不小心輸入了空格等字符,會(huì)導(dǎo)致程序運(yùn)行報(bào)錯(cuò),MyBatis提 供的SQL語句動(dòng)態(tài)組裝功能,可以很好地解決這一問題,本節(jié)課,將對(duì)動(dòng)態(tài)SQL 中的元素、中元素、 otherwise元素等進(jìn)行詳細(xì)講解。 三、新課講解知識(shí)點(diǎn)1-動(dòng)態(tài)SQL中的元素教師通過PPT的方式講解動(dòng)態(tài)SQL中的元素。(1) MyBatis 采用了功能強(qiáng)大的基于 OGNL (Object Graph Navigation Language)的表達(dá)式來完成動(dòng)態(tài)SQL。(2)通過動(dòng)態(tài)SQL元素靈活組裝SQL語句,在
19、很大程度上防止了單一 SQL 語句的反復(fù)堆砌,提高了 SQL語句的復(fù)用性。MyBatis動(dòng)態(tài)SQL中的常用元素。:判斷語句,用于單條件判斷。 ( ):用于多條件判斷。:簡(jiǎn)化SQL語句中的where的條件判斷。課題名稱第3章動(dòng)態(tài)SQL計(jì)劃 課時(shí)4課時(shí)trim:去除多余的關(guān)鍵字。set:用于SQL語句的動(dòng)態(tài)更新。foreach:循環(huán)語句,常用于in語句等列舉條件中。知識(shí)點(diǎn)2Yif元素教師通過PPT結(jié)合實(shí)際操作的方式講解if元素。(1)if元素是最常用的判斷元素,它類似于Java中的if語句,主要用 于實(shí)現(xiàn)某些簡(jiǎn)單的條件判斷。(2)通過一個(gè)具體的案例演示單條件判斷下if元素的使用。知識(shí)點(diǎn) 3-cho
20、ose、when、otherwise)元素教師通過PPT結(jié)合實(shí)際操作的方式講解choose、when、otherwise 元素。(1)只需要從多個(gè)選項(xiàng)中選擇一個(gè)去執(zhí)行,使用if元素進(jìn)行處理是非常 不合適的。(2)choose、whenotherwise元素經(jīng)常組合在一起使用,作用相 當(dāng)于 Java 語言中的ifelse ifelse。(3)通過案例演示,使用choose)、when、otherwise)元素組合去實(shí) 現(xiàn)從多個(gè)選項(xiàng)中選擇一個(gè)去執(zhí)行。三、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。四、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置
21、本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第二課時(shí)(where)元素、元素、更新操作)一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講解。二、通過直接導(dǎo)入的方式導(dǎo)入新課掌握了動(dòng)態(tài)SQL中的元素以及條件查詢操作的局部元素后,接下來繼續(xù)學(xué) 習(xí)條件查詢操作中的剩余元素以及更新操作等內(nèi)容。五、新課講解知識(shí)點(diǎn)lYwhere元素教師通過PPT結(jié)合實(shí)際操作的方式講解(where元素。SQL后面加入“where 1=1”的條件,既保證了 where后面的條件成 立,又防止了 where后面第一個(gè)詞是and或者or之類的關(guān)鍵字。(2)使用where元素對(duì)“where 1=1”條件進(jìn)行替換
22、,where元素會(huì)自 動(dòng)判斷由組合條件拼裝的SQL語句,只有where)元素內(nèi)的某一個(gè)或多個(gè)條件成 立時(shí),才會(huì)在拼接SQL中加入where關(guān)鍵字,否那么將不會(huì)添加;即使where之 后的內(nèi)容有多余的“AND”或“OR,where元素也會(huì)自動(dòng)將它們?nèi)コ?3)通過案例演示where元素的使用。知識(shí)點(diǎn)2Ytrim元素教師通過PPT結(jié)合實(shí)際操作的方式講解trim元素。trim元素用于刪除多余的關(guān)鍵字,它可以直接實(shí)現(xiàn)where元素的 功能。(2)trim元素包含4個(gè)屬性,具體如下表所示。prefix:指定給SQL語句增加的前綴。prefixOverrides:指定SQL語句中要去掉的前綴字符串。suf
23、fix:指定給SQL語句增加的后綴。suffixOverrides:指定SQL語句中要去掉的后綴字符串。(3)通過案例演示元素的使用。(4)對(duì)案例進(jìn)行解釋說明:使用元素對(duì)where 1=1條件進(jìn)行替 換,trim元素的作用是去除一些多余的前綴字符串,它的prefix屬性代表的 是語句的前綴(where),而prefixOverrides屬性代表的是需要去除的前綴字 符串(SQL中的“AND”或“OR” )。知識(shí)點(diǎn)3-更新操作教師通過PPT結(jié)合實(shí)際操作的方式講解更新操作。(1) set元素主要用于更新操作,它可以在動(dòng)態(tài)SQL語句前輸出一個(gè)SET 關(guān)鍵字,并將SQL語句中最后一個(gè)多余的逗號(hào)去除。(
24、2)set元素與if元素結(jié)合可以只更新需要更新的字段。(3)通過一個(gè)案例演示如何使用set元素更新數(shù)據(jù)庫的信息。注意:在映射文件中使用set元素和if元素組合進(jìn)行update語句動(dòng)態(tài) SQL組裝時(shí),如果set元素內(nèi)包含的內(nèi)容都為空,那么會(huì)出現(xiàn)SQL語法錯(cuò)誤。因 此,在使用set元素進(jìn)行字段信息更新時(shí),要確保傳入的更新字段不能都為空。四、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第三課時(shí)(foreach元素中的屬性、foreach元素迭代數(shù)組、foreach元
25、素迭 代 List、foreach元素迭代 Map)一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講解。二、通過需求導(dǎo)入的方式導(dǎo)入新課在實(shí)際開發(fā)中,有時(shí)可能會(huì)遇到這種情況:假設(shè)在一個(gè)客戶表中有1000 條數(shù)據(jù),現(xiàn)在需要將id值小于100的客戶信息全部查詢出來,這種情況下, 如果每條記錄都逐一查詢,顯然是不可取的。有的人會(huì)想到,可以在Java方法 中使用循環(huán)語句,將查詢方法放在循環(huán)語句中,通過條件循環(huán)的方式查詢出所需的數(shù)據(jù)。這種查詢方式雖然可行,但每執(zhí)行一次循環(huán)語句,都需要向數(shù)據(jù)庫 中發(fā)送一條查詢SQL,其查詢效率是非常低的。為了解決上述問題,MyBatis提 供
26、了用于數(shù)組和集合循環(huán)遍歷的foreach元素。下面將對(duì)foreach元素進(jìn)行 詳細(xì)講解。三、新課講解知識(shí)點(diǎn)l-foreach元素中的屬性教師通過PPT的方式講解foreach元素中的屬性。(1)foreach元素主要用于遍歷,能夠支持?jǐn)?shù)組、List或Set接口的集 合。(2)在實(shí)際開發(fā)中,foreach元素通常和SQL語句中的in關(guān)鍵字結(jié)合使 用。(3)foreach元素包含的屬性。item:表示集合中每一個(gè)元素進(jìn)行迭代時(shí)的別名。index:在List和數(shù)組中,index是元素的序號(hào),在Map中,index 是元素的key。open:表示foreach語句代碼的開始符號(hào),一般和close=)合
27、用。separator:表示元素之間的分隔符。close:表示foreach語句代碼的關(guān)閉符號(hào),一般和open=(合用。 collection:用于指定遍歷參數(shù)的類型。知識(shí)點(diǎn)2Yforeach元素迭代數(shù)組教師通過PPT結(jié)合實(shí)際操作的方式講解foreach元素迭代數(shù)組。(1)foreach元素可以實(shí)現(xiàn)數(shù)組類型的輸入?yún)?shù)的遍歷。(2)通過例子演示foreach元素迭代數(shù)組。知識(shí)點(diǎn)3Yforeach元素迭代List教師通過PPT結(jié)合實(shí)際操作的方式講解foreach元素迭代List。(1)foreach元素也可以迭代List類型的數(shù)據(jù),以完成批量查詢。(2)通過例子演示foreach元素迭代List。
28、知識(shí)點(diǎn)4Yforeach元素迭代Map教師通過PPT結(jié)合實(shí)際操作的方式講解foreach元素迭代Map0(1)如果入?yún)槎鄠€(gè)參數(shù),可以把這些參數(shù)封裝成一個(gè)Map集合進(jìn)行處理。(2)通過案例演示使用foreach元素迭代Map集合,實(shí)現(xiàn)傳入多個(gè)參數(shù) 的查詢操作。四、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第四課時(shí)(上機(jī)練習(xí))上機(jī)一:(考察知識(shí)點(diǎn)為案例:學(xué)生信息查詢系統(tǒng))形式:?jiǎn)为?dú)完成題目:學(xué)習(xí)信息查詢系統(tǒng)的條件查詢課題名稱第1章初識(shí)MyBatis框架計(jì)劃 課
29、時(shí)3課時(shí)教學(xué)引入團(tuán)隊(duì)協(xié)作開發(fā)時(shí),如果沒有統(tǒng)一的調(diào)用規(guī)范,系統(tǒng)會(huì)出現(xiàn)大量的重復(fù)功能 的代碼,給系統(tǒng)的二次開發(fā)和維護(hù)帶來不便。而框架實(shí)現(xiàn)了很多基礎(chǔ)性的功能, 開發(fā)人員不需要關(guān)心底層功能操作,只需要專心地實(shí)現(xiàn)所需要的業(yè)務(wù)邏輯,大 大提高了開發(fā)人員的工作效率。當(dāng)前市場(chǎng)上的Java EE開發(fā)主流框架有Spring. SpringMVC和MyBatis等,本章主要對(duì)框架的概念以及MyBatis的基礎(chǔ)知識(shí)進(jìn) 行介紹。教學(xué)目標(biāo)使學(xué)生了解框架的概念和優(yōu)點(diǎn)使學(xué)生了解MyBatis框架的概念和優(yōu)點(diǎn)使學(xué)生掌握MyBatis環(huán)境搭建使學(xué)生掌握MyBatis入門程序的編寫使學(xué)生熟悉MyBatis工作原理教學(xué)重點(diǎn) MyBa
30、tis環(huán)境搭建 MyBatis入門程序教學(xué)難點(diǎn) MyBatis工作原理教學(xué)方式課堂教學(xué)以PPT講授為主,并結(jié)合多媒體進(jìn)行教學(xué)教 學(xué) 過 程第一課時(shí)(框架概述、框架的優(yōu)勢(shì)、當(dāng)前主流框架、傳統(tǒng)JDBC的劣勢(shì)、MyBatis概述) 一、通過需求導(dǎo)入新課每個(gè)程序的具體業(yè)務(wù)可能不同,但是有大局部基礎(chǔ)性的東西是相同的,比方 文件上傳,數(shù)據(jù)庫查詢,這些功能大局部的程序都會(huì)有。此時(shí)可以根據(jù)具體問 題擴(kuò)展、安插更多實(shí)現(xiàn)好的功能,讓開發(fā)人員只需要關(guān)注具體的業(yè)務(wù),免去了 很多基礎(chǔ)性的工作,加快開發(fā)速度,框架就是基于這種設(shè)計(jì)理念。二、新課講解知識(shí)點(diǎn)1-框架概述教師通過PPT的方式講解框架概述。(1) “框架(Fram
31、ework) ” 一詞最早出現(xiàn)在建筑領(lǐng)域,指的是在建造房 屋前期構(gòu)建的建筑骨架。在編程領(lǐng)域,框架就是應(yīng)用程序的骨架,開發(fā)人員可 以在這個(gè)骨架上加入自己的東西,搭建出符合自己需求的應(yīng)用系統(tǒng)。(2)軟件框架是一種通用的、可復(fù)用的軟件環(huán)境,它提供特定的功能,促 進(jìn)軟件應(yīng)用、產(chǎn)品和解決方案的開發(fā)工作。軟件框架會(huì)包含支撐程序、編譯器、 代碼、庫、工具集以及API,它把所有這些部件匯集在一起,以支持工程或系 統(tǒng)的開發(fā)。知識(shí)點(diǎn)2-框架的優(yōu)勢(shì)教師通過PPT的方式講解框架的優(yōu)勢(shì)。(1)使用JSP+Servlet技術(shù)進(jìn)行JavaEE應(yīng)用的開發(fā)的弊端。軟件應(yīng)用和系統(tǒng)可維護(hù)性差代碼重用性低(2)相比于使用JSP+Se
32、rvlet技術(shù)進(jìn)行軟件開發(fā),使用框架有以下優(yōu)勢(shì)。要求利用本章所學(xué)知識(shí)完成一個(gè)學(xué)生信息查詢系統(tǒng),該系統(tǒng)要求實(shí)現(xiàn)2個(gè) 功能。.多條件查詢當(dāng)用戶輸入的學(xué)生姓名不為空時(shí),那么只根據(jù)學(xué)生姓名進(jìn)行學(xué)生信息的查詢;當(dāng)用戶輸入的學(xué)生姓名為空而學(xué)生專業(yè)不為空時(shí); 那么只根據(jù)學(xué)生專業(yè)進(jìn)行 學(xué)生信息的查詢;當(dāng)用戶輸入的學(xué)生姓名和專業(yè)都為空,那么要求查詢出所有學(xué)號(hào)不為空的學(xué) 生信息。.單條件查詢查詢出所有id值小于5的學(xué)生的信息。實(shí)現(xiàn)步驟:多條件查詢(1)工程搭建創(chuàng)立一個(gè)名稱為mybatis-demo03的工程,工程的具體搭建過程請(qǐng)參考1. 3-4-P 下。(2)數(shù)據(jù)準(zhǔn)備在名稱為mybatis的數(shù)據(jù)庫中,創(chuàng)立一個(gè)dm
33、 student表,并插入幾條測(cè)試 數(shù)據(jù)。3) POJO類準(zhǔn)備在工程 src/main/java 目 錄下倉ll 建 com. itheima. pojo 包 , 在 com. itheima. pojo包下創(chuàng)立持久化類Student,在類中聲明id、name、major 和sno屬性,以及屬性對(duì)應(yīng)的getter/setter方法。(4)創(chuàng)立映射文件在工程 src/main/java 目錄下創(chuàng)立 com. itheima. mapper 包, 在com. itheima. mapper包下創(chuàng)立映射文件StudentMapper. xml,在映射文件中, 編寫根據(jù)學(xué)生姓名和專業(yè)組合成的條件查詢學(xué)
34、生信息的動(dòng)態(tài)SQL。(5)修改mybatis-conf ig. xml核心配置文件在mybatis-config. xml映射文件的mappers元素下添加StudentMapper. xml映射文件路徑的配置,用于將StudentMapper. xml映射文 件加載到程序中。(6)編寫MyBatisUtils工具類在工程 src/main/java 目錄下創(chuàng)立 com. itheima. utils 包,在com. itheima. utils包下創(chuàng)立MyBatisUtils工具類,該類用于封裝讀取配置文 件信息的代碼。(7)編寫測(cè)試方法為了驗(yàn)證上述配置,可以在測(cè)試類MyBatisTest中
35、,編寫測(cè)試方法f indStudentByNameOrMajorTest (),該方法用于根據(jù)學(xué)生姓名或?qū)I(yè)查詢學(xué)生 信息。實(shí)現(xiàn)步驟:?jiǎn)螚l件查詢(1)修改映射文件在映射文件StudentMapper. xml中的mapper)元素下,編寫查詢所有id 值小于5的學(xué)生信息的動(dòng)態(tài)SQLo(2)編寫測(cè)試方法為了驗(yàn)證上述配置,可以在測(cè)試類MyBatisTest中,編寫測(cè)試方法findByListTest()。教學(xué)后記提高開發(fā)效率提高代碼規(guī)范性和可維護(hù)性提高軟件性能知識(shí)點(diǎn)3-當(dāng)前主流框架教師通過PPT的方式講解當(dāng)前Java EE開發(fā)中最常見的框架。Spring 框架Spring MVC 框架MyBati
36、s 框架Spring Boot 框架Spring Cloud 框架知識(shí)點(diǎn)4-傳統(tǒng)JDBC的劣勢(shì)教師通過PPT的方式講解傳統(tǒng)JDBC的劣勢(shì)。(1)影響系統(tǒng)性能:數(shù)據(jù)庫連接創(chuàng)立、釋放頻繁會(huì)造成系統(tǒng)資源浪費(fèi),從 而影響系統(tǒng)性能。(2)不易維護(hù):SQL語句在代碼中硬編碼,造成代碼不易維護(hù)。在實(shí)際應(yīng)用的開發(fā)中, SQL變化的可能性較大。在傳統(tǒng)JDBC編程中,SQL變動(dòng)需要改變Java代碼, 違反了開閉原那么。 使用PreparedStatement向占位符傳參數(shù)存在硬編碼,因?yàn)镾QL語句的 where條件不一定,可能多也可能少,修改SQL需要修改代碼,造成系統(tǒng)不易 維護(hù)。JDBC對(duì)結(jié)果集解析存在硬編碼(
37、查詢列名),SQL變化導(dǎo)致解析代 碼變化,造成系統(tǒng)不易維護(hù)。知識(shí)點(diǎn)5-MyBatis概述教師通過PPT的方式講解MyBatis概述。(1) MyBatis 框架是一個(gè) ORM (Object/Relation Mapping,即對(duì)象關(guān)系映 射)框架。(2)所謂的0RM就是一種為了解決面向?qū)ο笈c關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)類型 不匹配的技術(shù),它通過描述Java對(duì)象與數(shù)據(jù)庫表之間的映射關(guān)系,自動(dòng)將Java 應(yīng)用程序中的對(duì)象持久化到關(guān)系型數(shù)據(jù)庫的表中。(3)針對(duì)知識(shí)點(diǎn)4中提到的JDBC編程的劣勢(shì),MyBatis提供了以下解決 方案。問題一:數(shù)據(jù)庫鏈接創(chuàng)立、釋放頻繁會(huì)造成系統(tǒng)資源浪費(fèi),從而影響系統(tǒng) 性能。解決方
38、案:在SqlMapConfig. xml中配置數(shù)據(jù)鏈接池,使用連接池管理數(shù)據(jù) 庫鏈接。問題二:SQL語句在代碼中硬編碼,造成代碼不易維護(hù)。在實(shí)際應(yīng)用的開 發(fā)中,SQL變化的可能較大。在傳統(tǒng)JDBC編程中,SQL變動(dòng)需要改變Java代碼, 違反了開閉原那么。解決方案:MyBatis將SQL語句配置在MyBatis的映射文件中,實(shí)現(xiàn)了與 Java代碼的別離。問題三:使用preparedStatement向占位符傳參數(shù)存在硬編碼,因?yàn)镾QL 語句的where條件不一定,可能多也可能少,修改SQL需要修改代碼,造成系 統(tǒng)不易維護(hù)。解決方案:MyBatis自動(dòng)將Java對(duì)象映射至SQL語句,通過Stat
39、ement中 的parameterType定義輸入?yún)?shù)的類型。問題四:JDBC對(duì)結(jié)果集解析存在硬編碼(查詢列名),SQL變化導(dǎo)致解析 代碼變化,造成系統(tǒng)不易維護(hù)。解決方案:MyBatis自動(dòng)將SQL執(zhí)行結(jié)果映射至Java對(duì)象,通過Statement 中的resultType定義輸出結(jié)果的類型。三、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測(cè)試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。四、布置作業(yè)教師通過高校教輔平臺(tái)(. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第二課時(shí)(MyBatis環(huán)境搭建、MyBatis入門程序、MyBatis工作原理) 一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情
40、況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講解。二、通過直接導(dǎo)入的方式導(dǎo)入新課使用MyBatis框架進(jìn)行數(shù)據(jù)庫開發(fā)前,需要先搭建MyBatis環(huán)境。接下 來先學(xué)習(xí)如何搭建MyBatis環(huán)境,然后編寫MyBatis入門程序并分析MyBatis 的工作原理。三、新課講解知識(shí)點(diǎn)1-MyBatis環(huán)境搭建教師通過PPT結(jié)合實(shí)際操作的方式講解MyBatis環(huán)境搭建,步驟如下所示。(1)創(chuàng)立工程(2)引入相關(guān)依賴(3)創(chuàng)立數(shù)據(jù)庫(4)創(chuàng)立數(shù)據(jù)庫連接信息配置文件(5)創(chuàng)立MyBatis的核心配置文件知識(shí)點(diǎn)2-MyBatis入門程序教師通過PPT結(jié)合實(shí)際操作的方式講解MyBatis入門程序,實(shí)現(xiàn)根據(jù)id 查詢用
41、戶信息的操作,步驟如下所示。(1)數(shù)據(jù)準(zhǔn)備(2)創(chuàng)立POJO實(shí)體(3)創(chuàng)立映射文件UserMapper. xml(4)修改 mybatis-config. xml 配置文件(5)編寫測(cè)試類知識(shí)點(diǎn)3-MyBatis工作原理教師通過PPT的方式講解MyBatis工作原理。(1) MyBatis 讀取核心配置文件 mybatis-config.xml(2)加載映身J文件Mapper.xml(3)構(gòu)造會(huì)話工廠(4)創(chuàng)立會(huì)話對(duì)象(5)創(chuàng)立執(zhí)行器(6)封裝SQL信息(7)操作數(shù)據(jù)庫(8)輸出結(jié)果映射第三課時(shí)(上機(jī)練習(xí))上機(jī)一:(考察知識(shí)點(diǎn)為MyBatis環(huán)境搭建、MyBatis入門程序)形式:?jiǎn)为?dú)完成題目
42、:根據(jù)id查詢用戶信息具體要求:(1)完成MyBatis環(huán)境的搭建。(2)編寫一個(gè)程序,通過Mybatis實(shí)現(xiàn)根據(jù)id查詢用戶信息。教學(xué)后記Java EE企業(yè)級(jí)應(yīng)用開發(fā)教程CSpring+SpringMVC+MyBatisJ(第2板)教學(xué)設(shè)計(jì)課程名稱:授課年級(jí):授課學(xué)期:教師找名:課題名稱第2章MyBatis的核心配置5課時(shí)課時(shí)教學(xué)引入通過上一章的學(xué)習(xí),我們已經(jīng)對(duì)MyBatis框架有了一個(gè)初步的了解,但是 要想熟練地使用MyBatis框架進(jìn)行實(shí)際開發(fā),只會(huì)簡(jiǎn)單的配置是不行的,還需 要對(duì)框架中的核心對(duì)象、核心配置文件以及映射文件有更深入的了解。本章將 針對(duì)MyBatis核心對(duì)象、核心配置文件和映
43、射文件進(jìn)行詳細(xì)講解。教學(xué)目標(biāo)使學(xué)生了解MyBatis核心對(duì)象的作用使學(xué)生掌握MyBatis核心配置文件及其元素的使用使學(xué)生掌握MyBatis映射文件及其元素的使用教學(xué)重點(diǎn)SqlSession 對(duì)象 元素select元素insertA元素update元素 元素 元素教學(xué)難點(diǎn)無教學(xué)方式課堂教學(xué)以PPT講授為主,并結(jié)合多媒體進(jìn)行教學(xué)教 學(xué) 過 程第一課時(shí)(SqlSessionFactoryBuiIder 對(duì)象、SqlSessionFactory 對(duì)象、SqlSession 對(duì)象、MyBatis配置文件的主要兀素、7C) 一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對(duì)學(xué)生吸收不好的知識(shí)點(diǎn)進(jìn)行再次鞏固 講
44、解。二、創(chuàng)設(shè)情景,導(dǎo)入新課構(gòu)建樓房的基礎(chǔ)是打好地基,有了堅(jiān)固的地基才能夠進(jìn)行下一步的建設(shè)。 同樣在實(shí)際開發(fā)中,也需要一個(gè)為工程的開發(fā)提供后臺(tái)數(shù)據(jù)支持的“地基”。 MyBatis是一個(gè)持久層框架,它便充當(dāng)了一個(gè)“地基”的角色。接下來,將MyBatis 中的核心對(duì)象及元素等進(jìn)行詳細(xì)講解。三、新課講解知識(shí)點(diǎn) 1 -SqlSessionFactoryBuilder 對(duì)象教師通過PPT的方式講解SqlSessionFactoryBuilder對(duì)象。.(1)所有的MyBatis應(yīng)用都是以SqlSessionFactory對(duì)象為中心。(2) SqlSessionFactoryBuilder 就是 SqlSe
45、ssionFactory 的構(gòu)造者。 SqlSessionFactoryBuilder 通過 build()方法構(gòu)建 SqlSessionFactory 對(duì)象, 按照配置信息的傳入方式,可以分為三種形式,具體如下:build(InputStream inputStream, String environment, Properties properties)build (Reader reader, String environment, Propertiesproperties)build (Conf i gurat i on config)知識(shí)點(diǎn) 2-SqlSessionFactory 對(duì)象教師通過PPT的方式講解SqlSessionFactory對(duì)象。(1) SqlSessionFactory 用于創(chuàng)立 SqlSession 對(duì)象。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務(wù)平臺(tái)品牌建設(shè)與推廣預(yù)案
- 樂器維修配件供應(yīng)協(xié)議
- 個(gè)人短期小額高息借款協(xié)議書
- 臨沂市科研行業(yè)勞動(dòng)合同樣本
- 企業(yè)培訓(xùn)監(jiān)制合同范本
- 互聯(lián)網(wǎng)貿(mào)易財(cái)務(wù)決策
- 市政設(shè)施維護(hù)與保養(yǎng)預(yù)案
- 借錢買東西的合同(2篇)
- 公司罰款合同范本(2篇)
- 學(xué)校教職工考核評(píng)價(jià)手冊(cè)
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)歷史第二單元 夏商周時(shí)期:奴隸制王朝的更替和向封建社會(huì)的過渡 單元復(fù)習(xí)課件
- 安徽省江南十校2025屆高一數(shù)學(xué)第一學(xué)期期末經(jīng)典試題含解析
- 3.2 世界的地形(教學(xué)設(shè)計(jì))七年級(jí)地理上冊(cè)同步高效備課課件(人教版2024)
- 2024南京航空航天大學(xué)科學(xué)技術(shù)研究院招聘歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 2024上海煙草集團(tuán)北京卷煙廠限公司招聘31人高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 2024年上半年教師資格證《初中音樂》真題及答案
- 第13課《紀(jì)念白求恩》課件2024-2025學(xué)年統(tǒng)編版語文七年級(jí)上冊(cè)
- 2024-2030年中國(guó)合成革行業(yè)發(fā)展分析及發(fā)展趨勢(shì)預(yù)測(cè)與投資風(fēng)險(xiǎn)研究報(bào)告
- 2024年部編版初中明德教育集團(tuán)七年級(jí)期中考試(學(xué)生版)
- 2024信息技術(shù)中考練習(xí)系統(tǒng)試題及答案
- 《義務(wù)教育體育與健康課程標(biāo)準(zhǔn)(2022年版)》解讀
評(píng)論
0/150
提交評(píng)論