Mybatis中resultMap和resultType有什么区别

avatar
作者
猴君
阅读量:2

在Mybatis中,resultMap和resultType是用来映射查询结果集的两种不同的方式。

  1. resultType是指定查询结果的类型,可以是基本类型(如int、String等)或者自定义的Java对象类型。当查询结果只有一个列时,可以使用resultType直接指定列的类型。示例:
<select id="getUserCount" resultType="int">     SELECT COUNT(*) FROM users </select> 
  1. resultMap是通过定义一个映射关系来将查询结果集的列映射到Java对象的属性上。在resultMap中,可以指定每个列对应的属性、类型、以及一些额外的映射规则。示例:
<resultMap id="userResultMap" type="User">     <id property="id" column="id" />     <result property="name" column="name" />     <result property="age" column="age" /> </resultMap>  <select id="getUserById" resultMap="userResultMap">     SELECT * FROM users WHERE id = #{id} </select> 

总结:

  • resultType适用于简单的查询,只返回一个基本类型或者简单对象。
  • resultMap适用于复杂的查询,可以将查询结果映射到自定义的Java对象中,并且可以进行一些额外的映射规则的配置。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!