框架學習系列 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及常用標籤二
※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 三大模塊