Mybatis-plus 查詢條件為空不生效問題及解決
查詢條件為空不生效
-- mybatis-plus eq方法
default Children eq(R column, Object val) {
? ? return this.eq(true, column, val);
}
public Children eq(boolean condition, R column, Object val) {
? ? return this.addCondition(condition, column, SqlKeyword.EQ, val);
}以上是mybatis-puls wrapper條件構造器 eq方法源碼,由上可見,condition不傳遞值的時候,條件構造器默認填充的true。
因此,當我們傳入的條件,不一定有值時,可以在condition入參位置進行判定,當入參為空或者自定義情況下,條件不生效,否則查詢條件都是生效的,即使為空。
例:
wrapper.eq(StringUtil.isNotBlank(infoVO.getMobile()), MsPlatformInfo::getPhone, infoVO.getMobile());
當infoVO.getMobile()為空時,StringUtil.isNotBlank(infoVO.getMobile()) = false,這種情況下,此條件在sql執(zhí)行時不生效
參數不生效
在使用mybatis-plus 傳遞參數一直不生效
打印sql 也是不顯示該參數
springboot yml文件添加打印sql配置
mybatis-plus: ? configuration: ?? ?log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #開啟sql日志
最后搜到是del_flag參數類型錯誤!??!
由于傳遞的是Integer類型,但是在xml里面判斷delFlag!=’’
只需要把 delFlag!=’’ 這個條件去掉就可以了
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java 實戰(zhàn)交易平臺項目之寵物在線商城系統(tǒng)
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個寵物在線商城系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11
Spring @Retryable注解輕松搞定循環(huán)重試功能
spring系列的spring-retry是另一個實用程序模塊,可以幫助我們以標準方式處理任何特定操作的重試。在spring-retry中,所有配置都是基于簡單注釋的。本文主要介紹了Spring@Retryable注解如何輕松搞定循環(huán)重試功能,有需要的朋友可以參考一下2023-04-04
Springboot Druid 自定義加密數據庫密碼的幾種方案
這篇文章主要介紹了Springboot Druid 自定義加密數據庫密碼的步驟,幫助大家更好的理解和使用springboot,感興趣的朋友可以了解下2020-12-12

