第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

請(qǐng)問(wèn)老師,mybatis-plus中有多表連接動(dòng)態(tài)條件查詢的優(yōu)化方案嗎

jpa對(duì)單表操作很方便,但是項(xiàng)目中如果經(jīng)常出現(xiàn)表連接動(dòng)態(tài)條件分頁(yè)查詢的需求,按mybatis的方式就是去xml中寫sql實(shí)現(xiàn),比較繁瑣,也很重要,老師能否講解一下遇到這種需求怎么辦,有沒有更優(yōu)美的做法可以使用呢

正在回答

1 回答

? ? ? 多表聯(lián)查可以既使用xml或@select注解的方式寫sql,然后還能使用MP的條件構(gòu)造器,這種方式,我個(gè)人認(rèn)為挺優(yōu)雅的。給你舉個(gè)例子:

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

給你舉個(gè)使用條件構(gòu)造器的多表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>

對(duì)應(yīng)的Mapper接口中的方法定義:

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

? ? ? ?返回值可以是VO。也可以是實(shí)體類,但要要記住,如果用實(shí)體類接返回值,實(shí)體中非該實(shí)體對(duì)應(yīng)表的數(shù)據(jù)庫(kù)字段的屬性上要標(biāo)注@TableField(exist = false),如果使用了條件構(gòu)造器,條件構(gòu)造器的字段名別忘了帶別名。

2 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

請(qǐng)問(wèn)老師,mybatis-plus中有多表連接動(dòng)態(tài)條件查詢的優(yōu)化方案嗎

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)