MyBatis 的ResultMap的作用主要有以下几点:
- 映射结果集与JavaBean属性不对应。
ResultMap可以解决列名和属性名不一致的问题。 - 映射复杂类型的结果集。
一个结果集有多个对象,ResultMap可以方便映射。 - 实现一对多、多对一的结果集映射。
通过collection和association解决对象关系映射。 - 实现结果集的结果转对象。
通过constructor实现通过构造函数创建对象。 - 自动映射结果集。
通过autoMapping, *属性实现对结果集的自动映射。 - 实现联合查询结果映射。
一个结果集包含不同对象的属性。
举个例子:
<resultMap id="studentMap" type="Student">
<id property="id" column="sid"/>
<result property="name" column="name"/>
<collection property="books" ofType="Book">
.... // Book记录的结果集映射
</collection>
</resultMap>
这里通过ResultMap实现:
- Student对象的映射
- 与Book一对多的关系映射
- 解决列名与属性不一致问题
总的来说,Mybatis的ResultMap可用于解决各种复杂对象关系映射问题。