【轉】ResultMap中 的區別


ResultMap中<id>和<result>的區別

<resultMap type="com.wkd.entity.AreaCode" id="baseResultMap"> <!-- colum:表中列名(大寫) property:類中屬性名 jdbcType:表中類型 --> <id column="CODE" property="code" jdbcType="VARCHAR" /> <result column="CONTENT" property="content" jdbcType="VARCHAR" /> <result column="CODE_LEVEL" property="code_level" jdbcType="CHAR" /> <result column="SUPERIOR" property="superior" jdbcType="VARCHAR" /> </resultMap> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1、resultMap 元素定義了一個com.wkd.entity.AreaCode(這里是全限定名),它的屬性id代表它的標識,type代表使用哪種類作為其映射的類,可以是別名或者全限定名。↓↓↓

<resultMap type="com.wkd.entity.AreaCode" id="baseResultMap"> 
  • 1

子元素id代表resultMap的主鍵,而result代表其屬性。


2、在自定義的resultMap中第一列通常是主鍵id,那么id 和result有什么區別呢?
id和result都是映射單列值到一個屬性或字段的簡單數據類型。
唯一不同的是,id是作為唯一標識的,當和其他對象實例對比的時候,這個id很有用,尤其是應用到緩存和內嵌的結果映射。


3、property: 映射數據庫列的字段或屬性,如果JavaBean的屬性與給定的名稱匹配,就會使用匹配的名字,否則MyBatis將搜索給定名稱的字段,兩種情況下你都可以使用逗點的屬性形式,比如,你可以映射到“”username:,也可以映射到“address.street.number”


4、column:數據庫的列名或者列標簽別名,與傳遞個resultSet.getString(columnName)的參數名稱相同。


5、下面這兩個我也不太懂,可能以后用的上,先存在這里寫着…
javaType:完整java類名或者別名,如果映射到一個JavaBean,那么MyBatis通常會自行監測到。然而如果映射到一個HashMap,那應該明確指定javaType來確保所需行為。
jdbcType;支持的jdbc類型,這個屬性只在insert,update,delete的時候針對允許空的列有用,JDBC需要這項,但Mybatis不需要,如果直接編寫JDBC代碼,在允許為空值的情況下需要指定這個類型。
在這里插入圖片描述

原文: https://blog.csdn.net/qq_37717494/article/details/104648275


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM