Mybatis resultMap 嵌套集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis resultMap 嵌套集合相关的知识,希望对你有一定的参考价值。

参考技术A

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

所以通过下面的查询商品语句就可获得商品以及其包含的属性集合:

以上是关于Mybatis resultMap 嵌套集合的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis基础入门《十五》ResultMap子元素(collection)

【Mybatis】collection一对多查询子查询集合不为空,但属性值为空

mybatis映射文件select_resultMap_关联查询_collection定义关联集合

13mybatis一对多resultMap中用collection指定集合的封装规则

mybatis学习 十四 resultMap标签 一对一(联合查询)

mybatis resultmap标签type属性什么意思