Mybatis resultMap 嵌套集合
resultMap 是 Mybatis 最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。
resultMap 包含的元素:
如果 collection 标签是使用嵌套查询,格式如下:
注意: 标签中的column:要传递给 select 查询语句的参数,如果传递多个参数,格式为column= "{参数名1=表字段1,参数名2=表字段2}" ;
以下以实例介绍 resultMap 的用法 :
一、简单需求
一个商品的结果映射;
对应的 resultMap:
二、商品pojo类添加属性集合
一个商品会有一些属性,现在需要将查询出的商品属性添加到商品对象中,首先需要在原商品 pojo 类的基础上中添加属性的集合:
将 Collection 标签添加到 resultMap 中,这里有两种方式:
1、嵌套结果
对应的 resultMap
查询语句
2、关联的嵌套查询(在collection中添加select属性)
商品结果集映射 resultMap
collection 的 select 会执行下面的查询属性语句:
属性结果集映射
BasePlusResultMap 包含了属性查询语句的 Collection
所以通过下面的查询商品语句就可获得商品以及其包含的属性集合: