mybatis resultmap if
- 作者: 温凉盏
- 来源: 51数据库
- 2020-10-01
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,因为Map不能很好表示领域模型,我们就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。
mybatis中关于resulttype和resultmap的区别
mybatis中在查询进行select映射的时候,返回类型可以用resulttype,也可以用resultmap,resulttype是直接表示返回类型的(对应着我们的model对象中的实体),而resultmap则是对外部resultmap的引用(提前定义了db和model之间的隐射key-->value关系),但是resulttype跟resultmap不能同时存在。
在mybatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的map里面的,其中键是属性名,值则是其对应的值。
①当提供的返回类型属性是resulttype时,mybatis会将map里面的键值对取出赋给resulttype所指定的对象对应的属性。所以其实mybatis的每一个查询映射的返回类型都是resultmap,只是当提供的返回类型属性是resulttype的时候,mybatis对自动的给把对应的值赋给resulttype所指定对象的属性。
②当提供的返回类型是resultmap时,因为map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。
mybatis中关于resulttype和resultmap的区别
mybatis中在查询进行select映射的时候,返回类型可以用resulttype,也可以用resultmap,resulttype是直接表示返回类型的(对应着我们的model对象中的实体),而resultmap则是对外部resultmap的引用(提前定义了db和model之间的隐射key-->value关系),但是resulttype跟resultmap不能同时存在。
在mybatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的map里面的,其中键是属性名,值则是其对应的值。
①当提供的返回类型属性是resulttype时,mybatis会将map里面的键值对取出赋给resulttype所指定的对象对应的属性。所以其实mybatis的每一个查询映射的返回类型都是resultmap,只是当提供的返回类型属性是resulttype的时候,mybatis对自动的给把对应的值赋给resulttype所指定对象的属性。
②当提供的返回类型是resultmap时,因为map不能很好表示领域模型,就需要自己再进一步的把它转化为对应的对象,这常常在复杂查询中很有作用。
推荐阅读
