iBATIS映射文件是什么

本篇內(nèi)容主要講解“iBATIS映射文件是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“iBATIS映射文件是什么”吧!

下冶ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

要了解iBATIS映射文件基礎,首先我們來看,iBATIS的核心就在于映射文件(Data Map XML File)。在映射文件里可以定義包括要執(zhí)行各種SQL語句,存儲過程,輸入?yún)?shù)映射,返回結果映射,緩存機制,并且能通過幾種相對比較復雜的配置實現(xiàn)對象之間的關聯(lián)關系和延遲加載。這也是iBATIS區(qū)別ORM框架的,具備更靈活性,更高性能的關鍵所在。

配置文件可以寫得很簡單,也可以很復雜。復雜配置文件也是出于更好的設計,更好性能,更好擴展性方面的目的。再復雜的配置文件也是有限的,一個映射文件包括:Mapped Statements、Parameter Maps、Result Maps、Cache Models幾個主要的配置,還包括命名空間的配置,類型別名的配置。

iBATIS映射文件1.Mapped Statements :

顧名思義就是映射的語句聲明。它是整個iBATIS配置核心的核心,真正將被執(zhí)行的SQL語句(或存儲過程)都是必須在這里被顯式聲明。在Mapped Statements里可以包含有:statement、select、insert、update、delete、procedure這6種不同的語句類型。從詞面理解相信就可以了解到這些類型功能的一大半了。statement可以包含所有類型的SQL語句(存儲過程),它是一個泛泛的語句配置,沒特別明確的職責,相反,其它5種類型的語句配置就是專門負責各種不同的SQL語句。下面這張圖列出了各種類型的語句的不同職責和調(diào)用方法。

iBATIS映射文件是什么

Mapped Statements語句調(diào)用圖

iBATIS映射文件2.Parameter Maps :

參數(shù)映射的配置,它是被用來向一個語句(statement)提供所需參數(shù)的配置。每一個Parameter Maps都有一個自己的ID,在需要的時候需要在statement 的 parameterMap屬性中提供它的ID。但是對一個語句來說,它并不是必須,在iBATIS中還支持內(nèi)聯(lián)參數(shù)(Inline Parameter Maps)的形式,我們不需單獨寫一個Parameter Maps配置,只需要向parameterClass提供參數(shù)的類型,可以是元數(shù)據(jù)類型,復合數(shù)據(jù)類型,IDictionary數(shù)型的弱類型對象(使用key,value的鍵值對)。在內(nèi)部訪問數(shù)據(jù)類型的時候只使用#property#的形式訪問對應的屬性值。

注意:在任何地方使用到的parameterClass類型如果是一個元數(shù)據(jù)類型(int,string etc),都需要使用#value#的形式的來訪問它的值。

iBATIS映射文件3.Result Maps :

返回結果的映射關系配置,就是列與屬性的對應關系。在statement中使用resultMap屬性來指定一個結果映射。對一個statement來說,resultMap也不是必須的,同樣的,它仍然可以被resultClass給代替,因為如果返回出結果數(shù)據(jù)集的列名跟數(shù)據(jù)對象的屬性相同的話,它會自動去匹配,但是它不保證所有列都被會被正確映射(當某列名在對象中找不對應的屬性名,這列值將不被處理)。而resultMap則不同,如果已經(jīng)在resultMap中定義將要使用到列或屬性在結果集或數(shù)據(jù)對象中不存在,將會被認為是錯誤的,將會拋出異常。通過上面的表可以看到insert,update,delete三種語句類型是沒有resultMap和resultClass,因為原則上來說,它們的操作是沒有必要返回結果集。

注意:如果在一個statement中同時指定了resultMap和resultClass屬性的話,那將會優(yōu)先使用resultMap。同時result Map也是一個實現(xiàn)對象復雜查詢功能的重要手段,如:result map的繼承(與discriminator配合使用),對象的1..1、1..N關系查詢。

iBATIS映射文件4.Cache Model :

緩存模型。使用在Cache Model中定義好的緩存機制,只需在查詢語句配置的cacheModel屬性就可以很容易地緩存查詢返回的數(shù)據(jù)集。在iBATIS中提供了三種的類型的緩存模式(Memory,LRU,FIFO)算法。三種算法主要在于靜態(tài)過期策略上的不同,而它們都有相同的動態(tài)過期依賴策略,即可以設置執(zhí)行哪些statement時,緩存過期。

注意:iBATIS的緩存模型正常情況是非常好用的,但是因為緩存過期策略上的封裝性,它在多個服務器,負載平衡場景下還是有它的局限性。

到此,相信大家對“iBATIS映射文件是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

網(wǎng)站欄目:iBATIS映射文件是什么
URL鏈接:http://bm7419.com/article42/jdsshc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、Google、App設計、靜態(tài)網(wǎng)站云服務器、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設