資料講義t2ibatis核心組件_第1頁(yè)
資料講義t2ibatis核心組件_第2頁(yè)
資料講義t2ibatis核心組件_第3頁(yè)
資料講義t2ibatis核心組件_第4頁(yè)
資料講義t2ibatis核心組件_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

T2Ibatis核心組件回顧開(kāi)發(fā)過(guò)程Ibatis開(kāi)發(fā)步驟。在SQL的語(yǔ)句操作的對(duì)象是表,還是對(duì)象?能否在DAO中建立查詢語(yǔ)句?本講目標(biāo)主配置解析數(shù)據(jù)映射過(guò)程Ibatis處理級(jí)聯(lián)加載Ibatis實(shí)現(xiàn)模糊查詢Ibatis事務(wù)管理Ibatis通過(guò)transactionManager管理事務(wù),dataSource是子元素主要用來(lái)管理數(shù)據(jù)源使用此類管理事務(wù)此類負(fù)責(zé)數(shù)據(jù)庫(kù)連接管理JNDI數(shù)據(jù)源SIMPLE數(shù)據(jù)源只提供基本數(shù)據(jù)源實(shí)現(xiàn)主要適用無(wú)容器數(shù)據(jù)源時(shí),優(yōu)先采用.問(wèn)題:如何優(yōu)化數(shù)據(jù)源的訪問(wèn)?采用容器提供數(shù)據(jù)源采用WEB服務(wù)器或應(yīng)用服務(wù)器提供的數(shù)據(jù)源,如JBoss等優(yōu)點(diǎn):將數(shù)據(jù)源交給中間件拖管提高訪問(wèn)效率缺點(diǎn):性能取決于中間件.需開(kāi)銷額外中間件資源維護(hù)管理復(fù)雜容器數(shù)據(jù)源名稱,按JDNI目錄查找數(shù)據(jù)源類型通過(guò)屬性文件管理數(shù)據(jù)源1.新建perties以鍵-值的方式保存連接參數(shù),對(duì)XML文件進(jìn)行解耦2.通過(guò)自身標(biāo)簽引入至主配置文件配置數(shù)據(jù)源訪問(wèn)屬性文件中參數(shù)引入數(shù)據(jù)源的屬性文件加載屬性文件中的鍵值,名稱要與鍵一致框架性屬配置如何設(shè)定框架屬性值?如事務(wù)并發(fā)數(shù)?緩存模式?通過(guò)<setting>元素進(jìn)行設(shè)定.作用主要用來(lái)配置、優(yōu)化框架各選項(xiàng)是否啟用緩存模式是否啟用字節(jié)碼增強(qiáng)功能,以優(yōu)化訪問(wèn)POJO屬性,及延遲加載性能啟用所有延遲加載是否啟動(dòng)全局的sqlmap名字空間。如果啟動(dòng)則應(yīng)用時(shí),必須加上名字空間最大會(huì)話數(shù)、事務(wù)數(shù)、請(qǐng)求數(shù)映射配置IbatisMapped主要類型statement類型select類型insert類型update類型delete類型procedure類型Statement類型萬(wàn)能型標(biāo)簽<statement>可以應(yīng)用于任何語(yǔ)句.參數(shù)應(yīng)用廣泛如:ID為必選屬性。[]代表可選屬性實(shí)現(xiàn)查詢實(shí)現(xiàn)添加案例演示傳入?yún)?shù)類結(jié)果類型自定義參數(shù)自定義結(jié)果類型緩存類類名查詢標(biāo)簽<select>標(biāo)簽主要用于檢索數(shù)據(jù)返回類型主要有resultClass和resultMap兩種類型resultClass類型:表示返回的參數(shù)類型為Class類型resultMap類型:表示返回類型為自定義Map類型resultClass類型引用類型基本類型查詢每個(gè)部門人數(shù)查詢所有員工將表的數(shù)據(jù)自動(dòng)映射到pojo要求:字段和屬性名稱一致如果屬性不一致?關(guān)聯(lián)屬性?如何指定返回類型!通過(guò)ResultMapresultMap類型resultMap類型是最常用的一種類型特點(diǎn):事先定義好類型數(shù)據(jù).適用于pojo屬性與表中屬性不一致時(shí)使用.適用于復(fù)雜類型,關(guān)聯(lián)關(guān)系對(duì)象的加載.如一對(duì)一、一對(duì)多等如:表中列屬性與Pojo中屬性不一致resultMap類型使用通過(guò)<resultMap>定義resultMap類型查詢時(shí)指定返回類型為resultMap型參數(shù)類型名稱來(lái)自ID屬性值復(fù)合resultMap類型ResultMap對(duì)關(guān)聯(lián)關(guān)系的映射.如多對(duì)一、一對(duì)多Hibernate:通過(guò)各種不同 的關(guān)聯(lián)標(biāo)簽來(lái)映射關(guān)系。Ibatis:通過(guò)SQL語(yǔ)句來(lái)進(jìn)行映射各種關(guān)系。通過(guò)查詢檢索關(guān)聯(lián)記錄對(duì)關(guān)聯(lián)屬性進(jìn)行映射針對(duì)基本類型數(shù)據(jù)可以通過(guò)#value#來(lái)作為參數(shù).Integer也可寫(xiě)為int復(fù)合Map類型屬性一對(duì)多加載傳入的參數(shù)類型和返回類型。返回Emloyee對(duì)象存入至Set集合中員工表的字段。在查詢部門時(shí),將列的值作為條件查詢員工復(fù)合Map類型屬性問(wèn)題?在部門表中有查詢員工的SQL?

通過(guò)使用命名空間進(jìn)行管理以方便進(jìn)行維護(hù),如果不指定則全部采用默認(rèn)命名空間查詢時(shí)相應(yīng)帶上命名空間非查詢標(biāo)簽<insert>標(biāo)簽進(jìn)行添加映射<update>標(biāo)簽進(jìn)行修改映射<delete>標(biāo)簽進(jìn)行刪除映射共同屬性屬性名描述id表示SQLStatement唯一標(biāo)識(shí)名稱parameterClass表示傳入SQLstatement的參數(shù)類型parameterMap表示自定義傳入?yún)?shù)Map類型名稱parameterClass類型一般使用在SQL語(yǔ)句需要傳入?yún)?shù)的地方。 如:根據(jù)參數(shù)進(jìn)行查詢根據(jù)參數(shù)類型進(jìn)行保存?zhèn)魅雲(yún)?shù)類型返回參數(shù)類型parameterMap類型與parameterClass相比這種更像是一種自定義的數(shù)據(jù)類型。事先定義好每個(gè)屬性的數(shù)據(jù)類型在使用時(shí),不需要采用##指定參數(shù)。直接采用?占位符來(lái)指定。javaType指定Pojo中數(shù)據(jù)類型JdbcType指定表中數(shù)據(jù)類型。如果不指定將采用自動(dòng)轉(zhuǎn)換。parameterMap類型對(duì)關(guān)聯(lián)屬性處理,添加員工時(shí)指定部門department對(duì)應(yīng)Pojo中屬性。最后一個(gè)問(wèn)號(hào)對(duì)應(yīng)關(guān)聯(lián)所屬部門,將department中did值通過(guò)最后一個(gè)問(wèn)號(hào)占位符和部門進(jìn)行關(guān)聯(lián)insert對(duì)主鍵自增處理問(wèn)題:在持久化過(guò)程中如何實(shí)現(xiàn)自動(dòng)增長(zhǎng)?Oracle序列實(shí)現(xiàn)自增SQLServer實(shí)現(xiàn)自增Select標(biāo)簽實(shí)現(xiàn)模糊查詢普通查詢查詢所有姓‘張’員工信息?查詢時(shí)傳入?yún)?shù):”張”。但未能檢索所有姓’張’的員工。該如何實(shí)現(xiàn)?。。未加入’%’嗎?出錯(cuò)了?原因:#號(hào)中間表示參數(shù),前面不能有%,否則語(yǔ)法有誤SQL語(yǔ)句如下模糊查詢解決方法!方法(一)在傳入?yún)?shù)時(shí),將‘%’也一并傳入進(jìn)來(lái)。如:方法(二)通過(guò)不同的數(shù)據(jù)庫(kù)特性和函數(shù)實(shí)現(xiàn)MySQLOracle方法(三)通過(guò)$取代#進(jìn)行傳參用$代替#對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論