ResultType和ResultMap区别

ResultType

通常用于单表查询,且结果匹配Entity
列名和标准成员名匹配时可直接使用字段
不一致时使用SQL别名

<select id="selectUsers" resultType="User">
select
  user_id         as "id",
  user_name       as "userName",
  hashed_password as "hashedPassword"
from some_table
where id = #{id}
</select>

ResultMap

通常用于联合查询结果
列名和成员属性名不一致使用
指定查询结果和bean属性的字段映射关系

<select id="selectUsers" resultMap="userResultMap">
  select user_id, user_name, hashed_password
  from some_table
  where id = #{id}
</select>
<resultMap id="userResultMap" type="User">
  <id property="id" column="user_id" />
  <result property="username" column="user_name"/>
  <result property="password" column="hashed_password"/>
</resultMap>

<association> 用于连表的一对一关联
<collection> 用于连表的一对多关联

参考资料

MyBatis官方文档 – XML 映射器

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

©2018-2024 Howell版权所有 备案号:冀ICP备19000576号