真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iBATIS映射文件是什么

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

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

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

配置文件可以寫得很簡單,也可以很復雜。復雜配置文件也是出于更好的設(shè)計,更好性能,更好擴展性方面的目的。再復雜的配置文件也是有限的,一個映射文件包括: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#的形式訪問對應(yīng)的屬性值。

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

iBATIS映射文件3.Result Maps :

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

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

iBATIS映射文件4.Cache Model :

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

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

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


本文標題:iBATIS映射文件是什么
分享地址:http://weahome.cn/article/jdsshc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部