mybatis多表查詢
一對一查詢
用戶表和訂單表的關系為,一個用戶有多張銀行卡,一張卡只從屬于一個用戶,
一對一查詢的需求:查詢一張銀行卡,與此同時查詢出該卡所屬的用戶
對應的SQL陳述句
- SELECT a.*,u.id,u.userName,u.birthday,u.sex FROM account a INNER JOIN
useru ON a.uid=u.id
創建物體類時應注意:private User user
一對多查詢
用戶表和訂單表的關系為,一個用戶有多張銀行卡,一張卡只從屬于一個用戶
一對多查詢的需求:查詢一個用戶,與此同時查詢出該用戶具有的銀行卡
對應的sql陳述句
- SELECT u.*,a.id aid,a.accountNum,a.money,a.uid FROM
useru LEFT JOIN account a ON u.id=a.uid
創建物體類時注意
- List accountList
多對多查詢
用戶表和角色表的關系為,一個用戶有多個角色,一個角色被多個用戶使用
多對多查詢的需求:查詢用戶同時查詢出該用戶的所有角色
對應的sql陳述句為
- SELECT r.*,u.id u_id,u.userName,u.birthday,u.sex FROM role r
- INNER JOIN role_user ru ON r.id=ru.roleId
- INNER JOIN
useru ON u.id=ru.userId
創建物體類時應注意
- List roleList;
- List userList;
現多對多關系查詢的主要作業都放在了這里,首先通過resultMap 宣告用戶類的結果映射,id以及result等標簽就是User類中的基本屬性,User類中的角色屬性roles通過collection集合標簽來映射到結果集中,,property對應User類中宣告的roles屬性,ofType用于標識集合中元素的型別,resultMap用于參考其他的結果映射來說明集合中元素的屬性,在這里為roleMap,如果roleMap不在其他地方使用,也可以直接將角色的屬性直接配置在collection屬性的子集里
小結:MyBatis多表配置方式:
一對一配置:使用做配置
一對多配置:使用+做配置
多對多配置:使用+做配置
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/196477.html
標籤:區塊鏈
上一篇:Springboot 使用easyexcel 實作Excel匯出功能
下一篇:空間圓弧路徑引數化
