ResultType和ResultMap的区别
总结:
基本映射:(resultType)使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功
(数据库,实体,查询字段,这些全部都得一一对应),高级映射:(resultMap)如果查询出来的列名和pojo的属性名不一致,
通过定义一个resultType对列名和pojo属性名之间作一个映射关系。(高级映射,字段名称可以不一致,通过映射来实现)。
resultType和resultMap功能类似,都是返回对象信息,但是resultMap要更强大一些,可自定义,resultMap要配置一下,表
和类的一一对应关系,所以说就算你的字段名和你的实体类的属性名不一样也没关系,都会给你映射出来,但是
Mybatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型
的,resultMap则是对外部resultMap的引用,但是resultType和resultMap不能同时存在。
在Mybatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面,其中键是属性名,值则是其对应的值。
(1)当提供的返回值类型属性是resultType时,Mybatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性,
所以其实Mybatis的每一个查询映射的返回值类型都是resultMap,只是当提供的返回类型属性是resultType的时候&#x