當前位置:
首頁 > 知識 > 框架學習系列 mybatis 第二十篇 電商項目中多對多映射

框架學習系列 mybatis 第二十篇 電商項目中多對多映射

本節主要內容

1:多對多映射

2:總結&下節預告

3:凱哥說一說

4:本教程其他文章傳送門

本文是《凱哥陪你學系列-框架學習之mybatis框架學習》中第二十篇 多對多映射

一:多對多

1.1:什麼是多對多?

多對多映射其實就是一對多映射的一種特列。

1.2:需求

在電商項目中,查詢用戶信息的時候,關聯查詢出該用戶購買的商品信息

回顧咱們將的四個表:訂單表(orders)、訂單明細表(orderdetail)、商品表(items)、用戶表(user)

表與表之間的關係:

分析需求:

主表是什麼?從表又是什麼?

主表:查詢用戶信息,所以主表是用戶表(user)

從表:購買商品信息。商品是在不同訂單中,而每個訂單也不同

所以,從表就是 商品表(items)、訂單表(orders)、訂單詳情表(orderdetail)

分析清楚主表、從表後,在根據上圖中,表與表之間關係,我們可以得到如下sql:

1.2:修改PO類

a:根據分析,我們知道主表是在user表。

所以,我們修改user表pojo擴展類。用戶與訂單是一對多關係,所以,添加list

b:訂單(orders)表與訂單詳情表(orderdetail)是一對多關係,所以在Orders表的實體對象中擴展

出List detailList

c:訂單詳情表(orderdetail)與商品表是一對一的關係。所以同理,在ordedetail的po對象中擴展出存放items對象的欄位:

1.3:order-mapper.xml文件中

a:回憶一對一映射使用什麼標籤進行聲明?

b:回憶一對多映射使用什麼標籤進行聲明?

聲明返回resultMap:

代碼:

查詢主語句:

1.4:測試類型

運行結果:

二:總結

通過本文學習,我們需要掌握:

1:學會根據需求,分析出對應表及表之間關係進而先寫出sql語句。

2:知道什麼是多對多關係。

3:學會一對多,一對一嵌套使用。來實現我們不同的需求

凱哥說一說:

凱哥希望各位看官老爺們,多提提意見。有時候,或許您們看不到我的回復,但是我會認真看每個人的意見的。會在相應文章中給出解答的。

下節預告:

延遲載入又叫懶載入,也叫按需載入。也就是說先載入主信息,在需要的時候,再去載入從信息。

下節我們學習:延遲載入

傳送門:

框架學習系列 mybatis 第十九篇 一對多映射

框架學習系列 mybatis 第十八篇一對一結果映射的使用1

框架學習系列 mybatis 第十七篇 高級結果映射一

框架學習系列 mybatis 第十六篇常用標籤三及比較

框架學習系列 mybatis 第十五篇動態sql及常用標籤二


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 凱哥java 的精彩文章:

solr 查詢相關 查詢某個區間、空字元串、不等於查詢
框架學習系列 mybatis 第十九篇 一對多映射
框架學習系列 mybatis 第十八篇一對一結果映射的使用1
框架學習系列 mybatis 第十七篇 高級結果映射一
框架學習系列 mybatis 第十六篇常用標籤三及比較

TAG:凱哥java |

您可能感興趣

Karpathy更新深度學習開源框架排名:TensorFlow第一,PyTorch第二
ArXiv最受歡迎開源深度學習框架榜單:TensorFlow第一,PyTorch第四
ArXiv最火深度學習框架:TensorFlow第一,PyTorch第二!
ArXiv最受歡迎開源深度學習框架榜:TensorFlow第一,PyTorch第四
實現mybatis框架SQL映射文件SQL片段
使用 Python 和 Pygame 模塊構建一個遊戲框架
Keras vs PyTorch:誰是「第一」深度學習框架?
吊打OpenAI!谷歌重磅開源強化學習框架Dopamine
RecQ-Python推薦系統框架
微軟公布DirectX Raytracing API:現有框架內大跨越的一步
類Keras的PyTorch 深度學習框架——PyToune
mybatis框架的動態sql語句
Facebook開源視覺、語言多任務深度學習框架——Pythia
一周AI大事盤點:全球超算500強公布,Facebook開源其PyRobot框架
深度學習框架排行榜:找工作學TensorFlow,PyTorch搜索量逼近Keras
Pythia:Facebook最新開源的視覺、語言多任務學習框架
深度學習框架最新排名,TensorFlow一家獨大!
淺談Metasploit框架中的Payload
阿里首次開源深度學習框架X-Deep Learning
Angular 6 正式發布:統一框架、Material和CLI 三大模塊