MyBatis resultMap 一对多
时间: 2024-09-15 11:01:01 浏览: 59
mybatis一对多查询功能
5星 · 资源好评率100%
MyBatis的resultMap是用于映射数据库查询结果到Java对象的一种配置方式。当需要处理一对一或多对一的关系,并且你想将关联的对象以列表的形式返回时,就可以使用resultMap配合association标签来处理一对多(OneToMany)关系。
在resultMap中,你可以定义一个包含属性集合(list)的结果元素,比如`<collection>`元素,它通常引用一个Java集合类型,如List。例如:
```xml
<resultMap id="employeeResultMap" type="Employee">
<id property="id" column="employee_id"/>
<result property="name" column="employee_name"/>
<association property="department" javaType="Department">
<id property="id" column="department_id"/>
<result property="name" column="department_name"/>
</association>
<collection property="employees" ofType="Employee">
<id property="id" column="subordinate_id"/>
<result property="name" column="subordinate_name"/>
</collection>
</resultMap>
```
在这个例子中,`Employee`对象有一个`Department`属性是一对多关系,所以resultMap设置了`employees`集合来收集所有下属员工的信息。当你通过MyBatis查询一个员工时,这个resultMap会自动填充`Employee`对象及其下属列表。
阅读全文