MyBatis resultMap id标签的错误使用

我们在编写VO对象,如果业务场景稍微复杂一点,就会用到集合属性。例如用户查看个人订单列表,每个订单又包含多种或者多个规格的商品。

本节的问题主要是笔者对mybatis id标签的错误使用。id是resultMap以及Collection的子标签,标记出作为 ID 的结果可以帮助提高整体性能。特别注意的是,id是当前命名空间中的一个唯一标识,用于标识一个结果映射。

如下图,itemId(商品id)字段值在数据库中不唯一,错误使用会导致只返回该订单某商品的一条记录。因为对于某个商品,麻辣味和五香味只是商品规格,其商品id是相同的。
在这里插入图片描述
在这里插入图片描述

改用普通result标签后,返回正确结果。

在这里插入图片描述

在这里插入图片描述

EOF

猜你喜欢

转载自blog.csdn.net/LIZHONGPING00/article/details/109148269