MybatisPlus EntityWrapper如何自定義SQL
EntityWrapper自定義SQL
在mybatis plus中根據(jù)條件構(gòu)造器,構(gòu)建SQL查詢是很方便的,使用條件構(gòu)造器可以替代我們寫SQL。下面我們看幾個(gè)例子。
第一種
使用T selectOne(Wrapper<T> wrapper);我們只需要傳遞入我們創(chuàng)建一個(gè)EntityWrapper()并將條件拼接好就可以。
例如new EntityWrapper().eq("id","1")就是查詢id等于1的這條數(shù)據(jù)。這里不僅僅支持eq(),還有l(wèi)ike,not like ,group by等,差不多在SQL中需要的這里都有。
第二種
在單表查詢的時(shí)候我們需要自定義列的時(shí)候則使用setSqlSelect方法,具體如下:
/**此格式的意思為requireParam傳參了才創(chuàng)建where條件,請按照此格式撰寫代碼
*Object為你的單表實(shí)體類
*requireParam為入?yún)?shí)體類
*EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);是為了讓構(gòu)造where條件
*我在前面給requireParam的state屬性設(shè)置了值為1,所以這里會(huì)自動(dòng)拼接上where條件,如果不需要的話則可不傳requireParam
*
*
**/
? ? ? ? ? ? EntityWrapper<Object> ew = new EntityWrapper<Object>(requireParam);
? ? ? ? ? ? /**設(shè)置需要查詢的列名**/
? ? ? ? ? ? ew.setSqlSelect("id,resource_id,user_id,username,content,createtime,parent_id," +
? ? ? ? ? ? ? ? ? ? " path,type,like_count")
? ? ? ? ? ? ? ? ? ? /**排序方式**/
? ? ? ? ? ? ? ? ? ? .orderBy(false,"path",false);同第一種情況一樣,后面可以繼續(xù)拼接各種條件。
第三種
EntityWrapper()拼接where條件,這個(gè)其實(shí)在第二種情況中已經(jīng)講了,就是根據(jù)我們創(chuàng)建EntityWrapper的時(shí)候有沒有入?yún)碜觥?/p>
到目前我們只用到了這些,以后遇到了我會(huì)繼續(xù)更新。
MybatisPlus自定義sql查詢
public void reconciliationForConfirmOne(Integer Id, Integer payoffType) {
List<FinanceReconciliationEntity> frList = financeReconciliationService.selectList(
new EntityWrapper<FinanceReconciliationEntity>()
.eq("payoff_id", Id)
.eq("payoff_type", payoffType)
.where("(reconciliation_status <> 1 OR reconciliation_status IS NULL)")
);
for (FinanceReconciliationEntity fr : frList) {
fr.setReconciliationStatus(1);
}
if (frList != null && frList.size() > 0) {
financeReconciliationService.updateBatchById(frList);
}
}
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Initializr只能創(chuàng)建為Java?17版本以上的問題解決
這篇文章主要給大家介紹了關(guān)于Spring?Initializr只能創(chuàng)建為Java?17版本以上問題的解決辦法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
SpringCloud OpenFeign與Ribbon客戶端配置詳解
在springcloud中,openfeign是取代了feign作為負(fù)載均衡組件的,feign最早是netflix提供的,他是一個(gè)輕量級(jí)的支持RESTful的http服務(wù)調(diào)用框架,內(nèi)置了ribbon,而ribbon可以提供負(fù)載均衡機(jī)制,因此feign可以作為一個(gè)負(fù)載均衡的遠(yuǎn)程服務(wù)調(diào)用框架使用2022-11-11
Spring-AOP自動(dòng)創(chuàng)建代理之BeanNameAutoProxyCreator實(shí)例
這篇文章主要介紹了Spring-AOP自動(dòng)創(chuàng)建代理之BeanNameAutoProxyCreator實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Java中如何使用Gson將對象轉(zhuǎn)換為JSON字符串
這篇文章主要給大家介紹了關(guān)于Java中如何使用Gson將對象轉(zhuǎn)換為JSON字符串的相關(guān)資料,Gson是Google的一個(gè)開源項(xiàng)目,可以將Java對象轉(zhuǎn)換成JSON,也可能將JSON轉(zhuǎn)換成Java對象,需要的朋友可以參考下2023-11-11
idea2020.1最新版永久破解/pycharm也可用(步驟詳解)
這篇文章主要介紹了idea2020.1最新版永久破解/pycharm也可用,本文給大家分享簡單實(shí)現(xiàn)步驟,通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
解決若依pageHelper在動(dòng)態(tài)切換數(shù)據(jù)源問題
這篇文章主要介紹了解決pageHelper在動(dòng)態(tài)切換數(shù)據(jù)源問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01

