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

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

聯表怎么查詢呢?

老師,該聯表怎么查詢呢?

正在回答

1 回答

MP自帶的CRUD操作是針對單表操作的,如果要操作多表,可以寫自定義sql。

給你舉個使用條件構造器的多表sql例子,可以寫在xml中或注解中,下面的是用xml的寫法:

<select?id="mySelectList"?resultType="User">?????
????select?u.*,r.role_name?
????from?user?u?inner?join?role?r?
????on?u.role_id?=?r.role_id?
????${ew.customSqlSegment}
</select>

對應的Mapper接口中的方法定義:

List<User>?mySelectList(@Param(Constants.WRAPPER)?Wrapper<User>?wrapper);

? ? ? ?返回值可以是VO。也可以是實體類,但要要記住,如果用實體類接返回值,實體中非該實體對應表的數據庫字段的屬性上要標注@TableField(exist = false),如果使用了條件構造器,條件構造器的字段名別忘了帶別名。

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

墨123321

老師,在你的給的代碼中,如果需要使用${ew.customSqlSegment}中的查詢條件,在傳入wrapper中得設置wrapper.eq("u.id", xxxxx)才能正確查詢。這樣每一個查詢條件都需要加一個"u."的前綴,這樣在多人開發的時候很容易出現錯誤。有沒有好的辦法處理?我目前的想法是用反射,把查詢條件的包裝類轉換成wrapper對象
2023-07-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
MyBatis-Plus入門
  • 參與學習       56676    人
  • 解答問題       381    個

MyBatis-Plus框架入門必學課程!

進入課程

聯表怎么查詢呢?

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

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

幫助反饋 APP下載

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

公眾號

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