在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  C++/ SSM框架中多表關(guān)聯(lián)如何操作

SSM框架中多表關(guān)聯(lián)如何操作

我先說說我自己是如何操作mybatis的多表關(guān)聯(lián)的查詢的

我并沒有用sql語句嵌套查詢,多表查詢?nèi)际怯迷诖a挨個單表查詢實現(xiàn)的

比如我一般在Controller層這么寫

DomainA a = serviceA.find(1);
DomainB b = serviceB.find(a.getBid());
modelMap.put("a",a);
modelMap.put("b",b);

這樣寫是否是正確的寫法?

我原先的這段話可能存在歧義:

我是否應(yīng)該在sql中寫多表關(guān)聯(lián)? 如果這么做 返回的數(shù)據(jù)無法用Model層的對象包裝返回

修改成:
我是否應(yīng)該在sql中寫多表關(guān)聯(lián)? 結(jié)果集是個多表不同字段的結(jié)果集 單個表的Model已經(jīng)無法滿足.

一些回答說可以一個新Model包含兩張表的字段,那我如果跨4,5張表這種呢,為了一次查詢新建一個存在非常多字段的類(成員變量可能超過200)嗎?

還有一個問題,ModelMap寫在Service層好嗎

回答
編輯回答
鐧簞噯

你可能忘記了mybatis的xml文件可以寫ResultMap這個東西

多表查詢之后 結(jié)果映射到ResultMap里

2018年6月14日 07:21
編輯回答
葬愛

使用子查詢或者join,然后新建一個新的dto對象將DomainA 和DomainB 中需要的屬性包起來就行了,隨著業(yè)務(wù)的增加而增加新的屬性。

2018年6月30日 11:47
編輯回答
陪她鬧

在sql里多表查詢,Model類只要有對應(yīng)的字段,就會返回數(shù)據(jù)。

2017年5月10日 14:51
編輯回答
熟稔

如果兩張表在一個庫,既然用了mybatis了,在數(shù)據(jù)量允許情況下,就用join吧

2017年2月18日 12:55