使用RresultMap中collection做嵌套查询
1.使用格式如下:
<collection column="传递给嵌套查询语句的字段参数"
property="pojo对象中的集合属性"
ofType="集合属性中的pojo对象"
select="嵌套的查询语句" >
</collection>
注意:<collection>
标签中的column:是要传递给select查询语句的参数,如果传递多个参数,格式为column= “ {参数名1=表字段1,参数名2=表字段2}“ ;
2.实例
(2)实体类
@Data
public class SubjectVO implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String title;
private Integer sort;
private List<SubjectVO> children = new ArrayList<>();
}
(2)mapper.xml
<mapper namespace="com.atguigu.guli.service.edu.mapper.SubjectMapper">
<resultMap id="nestedSubject" type="com.atguigu.guli.service.edu.entity.vo.SubjectVO">
<id property="id" column="id"/>
<result property="title" column="title"/>
<result property="sort" column="sort"/>
<collection column="id"
property="children"
ofType="com.atguigu.guli.service.edu.entity.vo.SubjectVO"
select="selectNestedListByParentId"/>
</resultMap>
<select id="selectNestedListByParentId" resultMap="nestedSubject">
select id, sort, title
from edu_subject
where parent_id = #{parentId}
</select>
</mapper>
还没有评论,来说两句吧...