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

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

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

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

MyBatis resultMap id标签的错误使用

MyBatis resultMap id标签的错误使用

EOF

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2021-10-27
  • 2021-11-03
  • 2021-12-26
  • 2023-03-04
猜你喜欢
  • 2021-03-30
  • 2021-10-24
  • 2022-12-23
  • 2022-01-20
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案