resultmap和resulttype的区别
时间: 2023-04-24 21:07:07 浏览: 47
resultmap和resulttype都是MyBatis中用于映射查询结果的关键字,但它们的作用不同。
resulttype是用于指定查询结果的数据类型,可以是基本类型、JavaBean、Map等。例如,如果查询结果是一个整数,可以使用resulttype="int"来指定结果类型。
resultmap是用于自定义查询结果的映射规则,可以将查询结果映射为JavaBean、Map等复杂类型。例如,如果查询结果是多个字段,可以使用resultmap来将这些字段映射为一个JavaBean对象。
总的来说,resulttype是用于简单类型的映射,而resultmap则是用于复杂类型的映射。
相关问题
resultmap和resulttype区别
resultMap 和 resultType 都是 MyBatis 中用于描述 SQL 查询结果的属性,二者有以下区别:
1. resultType 用于指定一个简单的 Java 类型,比如 String 或 Integer,用于描述查询结果的单个值。而 resultMap 用于描述复杂类型的映射,比如带有嵌套属性和集合属性的 Java 类型。
2. 使用 resultType 时,MyBatis 会自动为 Java 对象的属性赋值,属性与字段名一一对应。而使用 resultMap 时,需要手动进行属性和字段的映射。
3. resultMap 可以对查询结果进行高级处理,比如定义嵌套查询、级联查询、条件查询、统计查询等。
总结来说,resultType 适用于简单映射,而 resultMap 则适用于复杂映射。
resultMap和resultType区别
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适用于复杂的结果映射,可以更加灵活地控制映射规则。