亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

MP的子列表查詢怎么實現的?沒看見老師給例子

場景
訂單表,訂單詳情表
Controller 查詢訂單,訂單信息里包含購買商品信息

@Data
public?class?OrderMaster?{
????@TableId(type?=?IdType.AUTO)
????private??Integer?orderId;
????private??String?buyerName;
????private??String?buyerPhone;
????private??String?buyerAddress;
????private??String?buyerOpenid;
????private?BigDecimal?orderAmount;
????private?Integer?orderStatus?=?OrderStatusEnum.NEW.getCode();
????private??Integer?payStatus?=?PayStatusEnum.WAIT.getCode();
????@TableField(?fill?=?FieldFill.INSERT)//?新增執行
????private?Date?createTime;
????@TableField(fill?=?FieldFill.INSERT_UPDATE)?//?新增和更新執行
????private?Date?updateTime;
????private?transient?List<OrderDetail>?orderDetailList;
}
@Data
public?class?OrderDetail?{
????@TableId(type?=?IdType.AUTO)
????private??Integer?detailId;
????private??Integer?orderId;
????private??Integer?productId;
????private??String?productName;
????private??BigDecimal?productPrice;
????private??Integer?productQuantity;
????private??String?productIcon;
????@TableField(?fill?=?FieldFill.INSERT)//?新增執行
????private?Date?createTime;
????@TableField(fill?=?FieldFill.INSERT_UPDATE)?//?新增和更新執行
????private?Date?updateTime;

}


查詢的時候MP 不能自動處理么?
百度搜到的都是mybatis的處理方法,不知道MP有沒有更優雅的方式?

正在回答

2 回答

? ? ? 我再重發一遍,剛才在你下面留言,不知道為啥被截斷了。這不是子查詢,MP應該是解決不了這個問題,我的辦法就是使用OrderMaster的Mapper先查詢OrderMaster。然后用OrderDetail的Mapper根據主表的主鍵查詢從表數據,最后把從表數據賦值到OrderMaster對象上。就是兩次查詢。

? ? ? ?還有個辦法就是用mybatis原生的resultMap中配置collection的這種方式。

1 回復 有任何疑惑可以回復我~

? ? ?MP主要是簡化單表操作的,如果包含子查詢的話,可以用原生mybatis的寫法。

? ? ?但是有一些包含子查詢的sql使用MP也是可以寫出來了,你能具體貼出來你想要的包含子查詢的sql語句嗎?我看看用MP能不能優雅的寫出來。

1 回復 有任何疑惑可以回復我~
#1

qq_龍aiq飛_0 提問者

查詢 OrderMaster 的時候,實體對象里有訂單商品列表的對象。 現在我是 查到主表以后再根據主表字段 再查詢一次詳情表的列表 這應該不算子查詢了吧。 估計是我描述有問題,誤導老師了
2020-01-19 回復 有任何疑惑可以回復我~
#2

老猿 回復 qq_龍aiq飛_0 提問者

這不是子查詢,MP應該是解決不了這個問題,我的辦法就是使用OrderMaster的Mapper先查詢OrderMaster,然后根據主表的主鍵orderId字段查從表,之后把查到的從表的數據賦值到OrderMaster對象中?;蛘吣憧梢允褂胢ybatis原生的在xml中的resultMap中配置collection的這種方式。
2020-01-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

MP的子列表查詢怎么實現的?沒看見老師給例子

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號