温馨提示×

MyBatis的resultType和resultMap有什么区别

小亿
88
2024-03-07 16:45:27
栏目: 编程语言

MyBatis中的resultType和resultMap都是用来映射查询结果到Java对象的,但它们有一些区别:

  1. resultType:resultType是用来指定单一结果对象的类型的,通常用在查询结果只有一列的情况下,可以直接指定Java对象的类型作为结果类型。
<select id="selectUser" resultType="com.example.User">
    SELECT id, name FROM user
</select>
  1. resultMap:resultMap是用来指定复杂映射关系的,可以指定多个字段和Java对象之间的映射关系,可以实现一对一、一对多等复杂映射关系。
<resultMap id="userResultMap" type="com.example.User">
    <id property="id" column="id"/>
    <result property="name" column="name"/>
</resultMap>

<select id="selectUser" resultMap="userResultMap">
    SELECT id, name FROM user
</select>

总的来说,resultType适用于简单的单一结果映射,而resultMap适用于复杂的多个字段映射到Java对象的情况。

0