resultType 和 resultMap 的区别
时间: 2023-11-04 07:04:39 浏览: 96
resultType 和 resultMap 是 MyBatis 中用来处理查询结果映射的两个重要概念。
resultType 指定了查询结果的返回类型,可以是基本数据类型、JavaBean、Map 等类型。例如:
```xml
<select id="selectUser" resultType="com.example.User">
SELECT id, username, password FROM users WHERE id = #{id}
</select>
```
上面的例子中,resultType 指定了查询结果返回的类型是 com.example.User 类型。
而 resultMap 则是用来定义查询结果与 Java 对象的映射关系的。它可以让我们更加灵活地定义查询结果映射。例如:
```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="selectUser" resultMap="userMap">
SELECT id, username, password FROM users WHERE id = #{id}
</select>
```
上面的例子中,我们定义了一个名为 userMap 的 resultMap,指定了查询结果与 com.example.User 类型的映射关系。在 selectUser 中,我们使用了 resultMap 属性来指定查询结果映射使用的是 userMap。
总的来说,resultType 是指定查询结果返回类型的,而 resultMap 是指定查询结果与 Java 对象的映射关系的。在实际开发中,我们可以根据需要选择使用哪种方式来处理查询结果映射。
阅读全文