[转]MyBatis中resultType与resultMap区别

Posted 阿泰555

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]MyBatis中resultType与resultMap区别相关的知识,希望对你有一定的参考价值。

MyBatis中关于resultType和resultMap的具体区别如下:

MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap。
resultType是直接表示返回类型的(对应着我们的model对象中的实体);
resultMap则是对外部ResultMap的引用(提前定义了db和model之间的隐射key-->value关系);
resultType跟resultMap不能同时存在。

在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是列名,值则是其对应的值。
1.当提供的返回类型属性是resultType时,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当提供的返回类型属性是resultType的时候,MyBatis会自动把对应的值赋给resultType所指定对象的属性。
2.当提供的返回类型是resultMap时,因为Map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。








以上是关于[转]MyBatis中resultType与resultMap区别的主要内容,如果未能解决你的问题,请参考以下文章

在mybatis中resultMap与resultType的区别

Mybatis中输出映射resultType与resultMap的区别

mybatis常用标签(转)

mybatis混淆概念

ibatis/mybatis属性三:resultMap和resultClass/resultType

mybatis中resultMap和resultType区别,三分钟读懂