我听了有点乱
来源:3-1 OneToMany对象关联查询
dobe001
2020-02-25 17:09:25
老师可以讲一下这边 执行顺序吗,以及对应的关系,包括就是goods_detail.xml的查询语句和这边哪个先执行。然后collection中 property和column分别是对应了什么意思,不是说属性还是字段,是比如通过哪边得到column的值然后去执行select?然后把值赋给property对应的list里,我感觉我可能理解对了,但是,我乱,然后一想到 如果查的不是一条,我就更乱了,我现在没有思路去理顺
2回答
同学你好,本次案例中是:
查询返回的resultMap中是否有collectio标签
下一节会讲到多对一association标签。
祝学习愉快~
好帮手慕柯南
2020-02-25
同学你好!
执行顺序:
执行id=selectOneToMany的sql。查询符合条件的goods表中的数据
根据配置的resultMap,给Goods对象赋值。(一条一条赋值)
在赋值的过程中发现,有关联的查询。接下来执行collection中的goodsDetail.selectByGoodsId 对应的sql(其中property表示Goods对象中的属性,column表示查询出来的good_id字段)。
在goodsDetail.selectByGoodsId 中以之前查询出来的column为条件进行查询。将查出来的结果赋值给goodsDetails属性。
goodsDetails是一个List集合。因为selectByGoodsId查询到的可能是多条数据。在执行selectByGoodsId时不涉及关联查询了,所以可以直接将查询到了集合赋值给goodsDetails
依此类推直到全部赋值完
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题