我听了有点乱

来源:3-1 OneToMany对象关联查询

dobe001

2020-02-25 17:09:25

http://img.mukewang.com/climg/5e54e32509e1861609800332.jpg老师可以讲一下这边 执行顺序吗,以及对应的关系,包括就是goods_detail.xml的查询语句和这边哪个先执行。然后collection中 property和column分别是对应了什么意思,不是说属性还是字段,是比如通过哪边得到column的值然后去执行select?然后把值赋给property对应的list里,我感觉我可能理解对了,但是,我乱,然后一想到 如果查的不是一条,我就更乱了,我现在没有思路去理顺

写回答

2回答

好帮手慕柯南

2020-02-25

同学你好,本次案例中是:

查询返回的resultMap中是否有collectio标签

http://img.mukewang.com/climg/5e54fef70914c48907530494.jpg

下一节会讲到多对一association标签。

祝学习愉快~


0

好帮手慕柯南

2020-02-25

同学你好!

 执行顺序:

  • 执行id=selectOneToMany的sql。查询符合条件的goods表中的数据

    http://img1.sycdn.imooc.com/climg/5e54f7ef09042cb505420070.jpg

  • 根据配置的resultMap,给Goods对象赋值。(一条一条赋值)

    http://img1.sycdn.imooc.com/climg/5e54f7fe097e1cb106920278.jpg

  • 在赋值的过程中发现,有关联的查询。接下来执行collection中的goodsDetail.selectByGoodsId 对应的sql(其中property表示Goods对象中的属性,column表示查询出来的good_id字段)。

    http://img1.sycdn.imooc.com/climg/5e54f81709e08e9406730194.jpg

  • 在goodsDetail.selectByGoodsId 中以之前查询出来的column为条件进行查询。将查出来的结果赋值给goodsDetails属性。

    http://img1.sycdn.imooc.com/climg/5e54f9a10970809907800371.jpg

  • goodsDetails是一个List集合。因为selectByGoodsId查询到的可能是多条数据。在执行selectByGoodsId时不涉及关联查询了,所以可以直接将查询到了集合赋值给goodsDetails

    依此类推直到全部赋值完


如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


1
hobe001
h 涉及不涉及关联查询,是看哪条语句。
h020-02-25
共1条回复

0 学习 · 8016 问题

查看课程