resultmap和result type区别

resultMap和resultType是MyBatis在解析SQL查询结果时使用的两种映射方式,它们之间的主要区别如下:

1.映射对象的类型:
resultType直接指定了查询结果要映射到的Java类型,通常是简单的POJO类。
resultMap则可以定义更加复杂的映射关系,比如一对一、一对多的关联关系。
2.使用场景:
resultType适用于简单的查询,结果集直接映射到单一的Java对象。
resultMap适用于复杂的查询,需要对结果集进行深度定制映射的场景。


3.定义方式:
resultType通常在<select>标签的属性中直接指定。
resultMap需要单独定义在<resultMap>标签中,然后在<select>标签中引用,注意使用resultMap时必须要写主键,也就是id里面的东西。
灵活性:
4.resultMap更加灵活,可以实现复杂的映射关系,比如属性名称映射、嵌套结果映射等。
resultType相对简单,只能进行简单的属性名称映射。
总的来说,resultType适合简单查询,resultMap适合复杂查询。在实际开发中,根据具体的业务需求选择合适的方式即可。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis中的resultresultMap标签都是用于将查询结果映射到Java对象上的标签,但它们之间有一些区别。 1. result标签 result标签是用于描述如何将查询结果中的一列或多列映射到Java对象的属性上的。它通常用在select标签中,用于指定查询结果集中的一列或多列与Java对象的属性之间的映射关系。result标签有两个属性:column和property,分别表示查询结果集中的列名和Java对象的属性名。 例如: ```xml <select id="getUserById" resultType="com.example.User"> select id, username, password, email from user where id = #{id} <result column="username" property="username"/> <result column="password" property="password"/> <result column="email" property="email"/> </select> ``` 在上面的示例中,result标签用于将查询结果集中的username、password和email列分别映射到User对象的username、password和email属性上。 2. resultMap标签 resultMap标签是用于描述如何将查询结果集中的多列映射到Java对象的多个属性上的。它通常用在select、insert、update和delete标签中,用于指定查询结果集中的多列与Java对象的多个属性之间的映射关系。resultMap标签有多个子标签,包括id、result、association、collection等,用于指定映射关系的不同方面。 例如: ```xml <resultMap id="userMap" type="com.example.User"> <id column="id" property="id"/> <result column="username" property="username"/> <result column="password" property="password"/> <result column="email" property="email"/> </resultMap> <select id="getUserById" resultMap="userMap"> select id, username, password, email from user where id = #{id} </select> ``` 在上面的示例中,resultMap标签用于将查询结果集中的id、username、password和email列分别映射到User对象的id、username、password和email属性上。 综上所述,result标签和resultMap标签都是用于将查询结果映射到Java对象上的标签,但它们的使用场景和功能略有不同。result标签适用于简单的映射关系,而resultMap标签适用于复杂的映射关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值