resultMap和resultType区别
时间: 2023-05-27 09:07:28 浏览: 87
MyBatis中resultMap和resultType的区别详解
5星 · 资源好评率100%
resultMap和resultType是MyBatis中与结果映射相关的两个重要属性。
resultType指定了查询结果的类型,可以是Java类、基本数据类型或者Map等。例如:
```xml
<select id="selectUser" resultType="com.example.User">
select * from user where id=#{id}
</select>
```
resultMap是一个映射关系,将查询结果中的列与Java对象的属性进行映射。resultMap可以指定多个映射关系,每个映射关系都可以有自己的映射规则。例如:
```xml
<resultMap id="userMap" type="com.example.User">
<id property="id" column="user_id"/>
<result property="name" column="user_name"/>
<result property="age" column="user_age"/>
</resultMap>
<select id="selectUser" resultMap="userMap">
select user_id,user_name,user_age from user where id=#{id}
</select>
```
可以看出,resultType指定了查询结果的类型,而resultMap则指定了如何将查询结果映射到Java对象中。resultType适用于简单的结果映射,而resultMap适用于复杂的结果映射,可以更加灵活地控制映射规则。
阅读全文