MyBatis(七) 解决resultMap只返回一条结果的问题

问题描述

        在使用resultMap进行两表的关联关系映射的时候,本应返回list类型的数据,但是却只返回了一条数据,出现了后面的数据覆盖前面的数据的现象。

表之间的关联关系

MyBatis(七) 解决resultMap只返回一条结果的问题_第1张图片

sql语句

MyBatis(七) 解决resultMap只返回一条结果的问题_第2张图片

        这样写后,就只能返回一条数据,出现错误的原因是:resultMap中如果不定义类似主键之类的能够区分每一条结果集的字段的话,会引起后面一条数据覆盖前面一条数据的现象。

        然后意识到:由于master_id是master表的主键、mastergroup表的外键,在实体类中写表之间的关联关系时,可以不写master_id属性,因为在mastergroup属性中就有master_id属性,所以在上面的sql语句中,应该将写在association中。正确写法如下:

MyBatis(七) 解决resultMap只返回一条结果的问题_第3张图片

然后就可以返回多条数据了!

 

 

你可能感兴趣的:(SSM)