課程
/后端開發
/Java
/MyBatis-Plus入門
老師您好 請問使用mp 多表查詢+分頁時該怎么處理呢
2020-01-19
源自:MyBatis-Plus入門
正在回答
?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}
</
? ? ? ?對應的Mapper接口中的方法定義:
List<User>?mySelectList(
@Param
(Constants.WRAPPER)?Wrapper<User>?wrapper);
? ? ? ?返回值可以是VO。也可以是實體類,但要要記住,如果用實體類接返回值,實體中非該實體對應表的數據庫字段的屬性上要標注@TableField(exist = false),如果使用了條件構造器,條件構造器的字段名別忘了帶別名。
老猿
舉報
MyBatis-Plus框架入門必學課程!
1 回答多表的分頁查詢
1 回答關于多表查詢
1 回答查詢分頁失敗
4 回答連表查詢如何區分條件
2 回答分頁查詢偏移量的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-01-20
?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),如果使用了條件構造器,條件構造器的字段名別忘了帶別名。