ResultMap和ResultType的区别,小白看完这篇你就懂了
ResultMap和ResultType是什么?
官方文档说明:
-
ResultType: 期望从这条语句中返回结果的类全限定名或别名。 注意,如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身的类型。 resultType 和 resultMap 之间只能同时使用一个。 ResultMap: 对外部 resultMap 的命名引用。结果映射是 MyBatis 最强大的特性,如果你对其理解透彻,许多复杂的映射问题都能迎刃而解。
白话文说明:
-
ResultMap和ResultType都是用于设置mybatis增删改查后返回的数据类型。那么什么时候用ResultMap,什么时候用ResultType呢?
- 如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。
例如:
该SQL返回的是int型,那么ResultType定义成int型即可直接与Java进行绑定(基本数据类型默认可不写)。 2. 但是你如果是返回一个复杂的对象,就可以使用ResultMap(当然ResultType也是可以的)。
例如:
从代码中可以清晰的看出,resultMap可以对返回的参数进行配置,mybatis默认会进行驼峰转换,当数据库字段和Java对象字段不满足驼峰(列名不匹配),可以通过这里来配置,进行字段匹配。