<resultMap id = "cargo" type="cargo"> <id property="cargoId" column="cargo_id"/> <result property="cargoTypeId" column="cargo_type_id"/> <result property="gross" column="gross"/> <result property="containerId" column="container_id"/> <result property="valid" column="valid"/> </resultMap>
resultMap 元素定义了一个cargo,它的属性id代表它的标识,type代表使用哪种类作为其映射的类,可以是别名或者全限定名。
<typeAlias alias="cargo" type="com.myharbour.pojo.Cargo"/>
子元素id代表resultMap的主键,而result代表其属性。
在自定义的resultMap中第一列通常是主键id,那么id 和result有什么区别呢?
id和result都是映射单列值到一个属性或字段的简单数据类型。
唯一不同的是,id是作为唯一标识的,当和其他对象实例对比的时候,这个id很有用,尤其是应用到缓存和内嵌的结果映射。
property: 映射数据库列的字段或属性,如果JavaBean的属性与给定的名称匹配,就会使用匹配的名字,否则MyBatis将搜索给定名称的字段,两种情况下你都可以使用逗点的属性形式,比如,你可以映射到“”username:,也可以映射到“address.street.number”
column:数据库的列名或者列标签别名,与传递个resultSet.getString(columnName)的参数名称相同。