多对一问题

来源:3-2 ManyToOne对象关联查询

矩阵蚂蚁

2019-12-08 22:43:14

老师,在最后为什么要在赋值给关联的goodsDetails对象???

写回答

1回答

芝芝兰兰

2019-12-09

同学你好。association的含义,就是将当前对象的某个属性,使用关联查询的方式一起初始化。

对于GoodsDetail而言,里面有一个goods属性,是Goods类型的,我们使用resultMap就是想要封装GoodsDetail的同时,将这个GoodsDetail对象的goods属性这个对象一并初始化好。

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

但上述过程实际上是怎么实现的呢?MyBatis是这么帮我们实现的:

1、先执行主查询,得到结果集,结果集映射到resultMap

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

2、遇到association,将上述结果集中的goods_id字段作为源,使用select指定的查询进行查询

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

3、按照指定的property,映射到GoodsDetail的goods属性。将这些子查询的结果装填。


如果解答了同学的疑问,望采纳~

祝学习愉快~


1

0 学习 · 8016 问题

查看课程