您的位置:首页 > 其它

ResultMap中的id 和result的区别

2017-12-31 19:51 344 查看
<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有什么区别呢?

id和result都是映射单列值到一个属性或字段的简单数据类型。

唯一不同是。id是作为唯一标识的,当和其他对象实例对比的时候,这个id很有用,尤其是应用到缓存和内嵌的结果映射。

property: 映射数据库列的字段或属性,如果JavaBean的属性与给定的名称匹配,就会使用匹配的名字,否则MyBatis将搜索给定名称的字段,两种情况下你都可以使用逗点的属性形式,比如,你可以映射到“”username:,也可以映射到“address.street.number”

column:数据库的列名或者列标签别名,与传递个resultSet.getString(columnName)的参数名称相同。

javaType:完整java类名或者别名,如果映射到一个JavaBean,那么MyBatis通常会自行监测到。然而如果映射到一个HashMap,那应该明确指定javaType来确保所需行为。

jdbcType;支持的jdbc类型,这个属性只在insert,update,delete的时候针对允许空的列有用,JDBC需要这项,但Mybatis不需要,如果直接编写JDBC代码,在允许为空值的情况下需要指定这个类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: