在MyBatis中,<resultMap>
和resultType
都是定义查询结果映射的标签。
1. resultMap
如果查询出来的结果的列名和实体属性不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系
-
<resultMap>
则是自定义一个结果映射,可以指定多个<result>
子标签,每个<result>
标签用于将查询结果的某一列映射为Java Bean的一个属性或者其他类型的变量。
2. resultType
resultType使用resultType进行输出映射,只有查询结果显示的列名和实体的属性名一致时,该列才可以映射成功。
-
resultType
指定查询结果映射的类型。通常情况下指定为Java Bean的全限定名或者基本数据类型的类名,例如java.lang.Integer
。
3. 总结
对于resultMap而言,除了需要在<select>标签中进行申明外,还需要单独使用<resultMap></resultMap>实现实体属性与数据库表列名之间的自定义映射,适合多表查询。
对于resultType而言,仅需在<select>标签中用resultType属性申明结果返回类型即可,适合单表查询。