自定義ResultMap中的id 和result的區(qū)別
<resultMap id = "CashInvoiceMap" type="com.dfire.soa.invoice.bo.Invoice">
<id column="id" property="id" />
<result column="order_id" property="orderId" />
<result column="customer_register_id" property="customerRegisterId" />
<result column="entity_id" property="entityId" />
<result column="invoice_kind" property="invoiceKind" />
</resultMap>
在自定義的resultMap中第一列通常是主鍵id,那么id 和result有什么區(qū)別呢?
id和result都是映射單列值到一個屬性或字段的簡單數(shù)據(jù)類型。
唯一不同是。id是作為唯一標(biāo)識的,當(dāng)和其他對象實例對比的時候,這個id很有用,尤其是應(yīng)用到緩存和內(nèi)嵌的結(jié)果映射。
property: 映射數(shù)據(jù)庫列的字段或?qū)傩裕绻鸍avaBean的屬性與給定的名稱匹配,就會使用匹配的名字,否則MyBatis將搜索給定名稱的字段,兩種情況下你都可以使用逗點的屬性形式,比如,你可以映射到“”username:,也可以映射到“address.street.number”
column:數(shù)據(jù)庫的列名或者列標(biāo)簽別名,與傳遞個resultSet.getString(columnName)的參數(shù)名稱相同。
javaType:完整Java類名或者別名,如果映射到一個JavaBean,那么MyBatis通常會自行監(jiān)測到。然而如果映射到一個HashMap,那應(yīng)該明確指定javaType來確保所需行為。
jdbcType;支持的jdbc類型,這個屬性只在insert,update,delete的時候針對允許空的列有用,JDBC需要這項,但Mybatis不需要,如果直接編寫JDBC代碼,在允許為空值的情況下需要指定這個類型。

浙公網(wǎng)安備 33010602011771號