resultType和resultMap的区别
时间: 2023-11-02 11:05:17 浏览: 87
MyBatis中resultMap和resultType的区别详解
5星 · 资源好评率100%
resultType和resultMap都是MyBatis中用来映射查询结果的标签,但是它们的作用和使用方式有所不同。
1. resultType:用于指定查询结果的类型,可以是简单类型(如String、Integer等)或者JavaBean类型。当查询结果只有一个字段时,可以使用resultType指定结果类型;当查询结果有多个字段时,需要使用resultMap。
示例:
```xml
<select id="getUserById" resultType="com.example.User">
select * from user where id = #{id}
</select>
```
2. resultMap:用于映射查询结果到JavaBean中的属性,可以自定义映射规则,支持级联映射。当查询结果有多个字段时,需要使用resultMap。
示例:
```xml
<resultMap id="userMap" type="com.example.User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="getUserById" resultMap="userMap">
select * from user where id = #{id}
</select>
```
总结:
- resultType用于指定查询结果的类型,适用于查询结果只有一个字段的情况;
- resultMap用于映射查询结果到JavaBean中的属性,适用于查询结果有多个字段的情况。
阅读全文