mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap。两者不能同时使用。
resultMap对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
resultType注意如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身
两者的区别为:
对象不同
(1)resultMap:查询出的列名和pojo(java的普通对象)的属性名不一致,通过resultMap和pojo做一个映射关系。
(2)resultType:使用resultType进行输出映射
描述不同:
(1)resultMap:resultMap对于一对一表连接的处理方式通常为在主表的pojo中添加嵌套另一个表的pojo
(2)resultType:resultType无法查询结果映射到pojo对象的pojo属性中,根据对结构集查询遍历的需要选择使用resultType还是resultMap。
3.类型适用不同:
(1)resultMap:mybatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap。
(2)resultType:resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。