日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)MyBatis教程:MyBatis3XML映射文件-自動映射

正如你在前面一節(jié)看到的,在簡單的場景下,Mybatis 可以為你自動映射查詢結果。但如果遇到復雜的場景,你需要構建一個結果映射。 但是在本節(jié)中,你將看到,你可以混合使用這兩種策略。讓我們深入了解一下自動映射是怎樣工作的。

創(chuàng)新互聯(lián)是專業(yè)的紹興網(wǎng)站建設公司,紹興接單;提供網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行紹興網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

當自動映射查詢結果時,MyBatis 會獲取結果中返回的列名并在 ?Java ?類中查找相同名字的屬性(忽略大小寫)。 這意味著如果發(fā)現(xiàn)了 ID 列和 id 屬性,MyBatis 會將列 ID 的值賦給 id 屬性。

通常數(shù)據(jù)庫列使用大寫字母組成的單詞命名,單詞間用下劃線分隔;而 ?Java ?屬性一般遵循駝峰命名法約定。為了在這兩種命名方式之間啟用自動映射,需要將 ?mapUnderscoreToCamelCase ?設置為 ?true?。

甚至在提供了結果映射后,自動映射也能工作。在這種情況下,對于每一個結果映射,在 ?ResultSet ?出現(xiàn)的列,如果沒有設置手動映射,將被自動映射。在自動映射處理完畢后,再處理手動映射。 在下面的例子中,?id ?和 ?userName ?列將被自動映射,?hashed_password ?列將根據(jù)配置進行映射。


  

有三種自動映射等級:

  • ?NONE ?- 禁用自動映射。僅對手動映射的屬性進行映射。
  • ?PARTIAL ?- 對除在內部定義了嵌套結果映射(也就是連接的屬性)以外的屬性進行映射
  • ?FULL ?- 自動映射所有屬性。

默認值是 ?PARTIAL?,這是有原因的。當對連接查詢的結果使用 ?FULL ?時,連接查詢會在同一行中獲取多個不同實體的數(shù)據(jù),因此可能導致非預期的映射。 下面的例子將展示這種風險:


  



  

在該結果映射中,Blog 和 Author 均將被自動映射。但是注意 Author 有一個 id 屬性,在 ?ResultSet ?中也有一個名為 id 的列,所以 Author 的 id 將填入 Blog 的 id,這可不是你期望的行為。 所以,要謹慎使用 FULL。

無論設置的自動映射等級是哪種,你都可以通過在結果映射上設置 ?autoMapping ?屬性來為指定的結果映射設置啟用/禁用自動映射。


  

本文名稱:創(chuàng)新互聯(lián)MyBatis教程:MyBatis3XML映射文件-自動映射
網(wǎng)站地址:http://www.5511xx.com/article/dhhsecp.html