亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mybatis-plus 如何判斷參數(shù)是否為空并作為查詢條件

 更新時(shí)間:2022年03月10日 10:20:22   作者:bug菌1  
這篇文章主要介紹了mybatis-plus 如何判斷參數(shù)是否為空并作為查詢條件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

判斷參數(shù)是否為空并作為查詢條件

@Override
? ? public Page<DemandEntity> selectByDepartmentDisplay(DemandEntity demandEntity) {
? ? ? ? EntityWrapper<DemandEntity> wrapper = new EntityWrapper<DemandEntity>();
? ? ? ? wrapper.eq(!StringUtils.isNullOrEmpty(demandEntity.getNameDemandDepartmentDispaly()),"name_demand_department_dispaly",demandEntity.getNameDemandDepartmentDispaly());
? ? ? ? Page<DemandEntity> demandEntityPage = this.selectPage(demandEntity.getPages(),wrapper);
? ? ? ? return demandEntityPage;
? ? }

只需要在eq條件構(gòu)造器中只需要添加 一句判斷即可

!StringUtils.isNullOrEmpty(demandEntity.getNameDemandDepartmentDispaly() 

為true,就拼接where條件;為Flase就不拼接;

?eq(boolean condition, R column, Object val) ? ? 

第一個(gè)參數(shù) 為boolean類型 true就拼接上 flase就不拼接;

StringUtils.isNullOrEmpty()方法作用是

判斷對(duì)象或?qū)ο髷?shù)組中每一個(gè)對(duì)象是否為空: 對(duì)象為null,字符序列長(zhǎng)度為0,集合類、Map為empty;

附上 isNullOrEmpty() 源碼

/**
? ? ?* 判斷對(duì)象或?qū)ο髷?shù)組中每一個(gè)對(duì)象是否為空: 對(duì)象為null,字符序列長(zhǎng)度為0,集合類、Map為empty
? ? ?*
? ? ?* @param obj
? ? ?* @return
? ? ?*/
? ? public static boolean isNullOrEmpty(Object obj) {?
? ? ? ? if (obj == null) return true;?
? ? ? ? if (obj instanceof CharSequence) return ((CharSequence) obj).length() == 0;?
? ? ? ? if (obj instanceof Collection) return ((Collection) obj).isEmpty();?
? ? ? ? if (obj instanceof Map) return ((Map) obj).isEmpty();?
? ? ? ? if (obj instanceof Object[]) {
? ? ? ? ? ? Object[] object = (Object[]) obj;
? ? ? ? ? ? if (object.length == 0) {
? ? ? ? ? ? ? ? return true;
? ? ? ? ? ? }
? ? ? ? ? ? boolean empty = true;
? ? ? ? ? ? for (int i = 0; i < object.length; i++) {
? ? ? ? ? ? ? ? if (!isNullOrEmpty(object[i])) {
? ? ? ? ? ? ? ? ? ? empty = false;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return empty;
? ? ? ? }?
? ? ? ? return false;
? ? }

---【拓展】---

eq

eq(R column, Object val)
eq(boolean condition, R column, Object val)

等于

例: eq(“name”, “老王”) 等價(jià)于  name = ‘老王’

查詢時(shí)某些字段為null的問題

在SpringBoot+Mybatis項(xiàng)目執(zhí)行時(shí)發(fā)現(xiàn),Mybatis查詢的數(shù)據(jù)中的某些字段為null

在網(wǎng)站上搜索得到的是mybatis配置中需要添加一段配置駝峰命名法

mybatis:configuration:map-underscore-to-camel-case: true

但在公司項(xiàng)目中這個(gè)配置是已經(jīng)配置的了,經(jīng)過測(cè)試還是無法獲取正確的值

經(jīng)過自己查看代碼后發(fā)現(xiàn),是字段無法映射到對(duì)應(yīng)的實(shí)體上,即charging_name(entity)->charging_name(database)

將實(shí)體類的charging_name修改為chargingName,開啟駝峰命名法,就可以獲取正確的值了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式

    SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式

    近期接到了一個(gè)小需求,要將系統(tǒng)中的數(shù)據(jù)導(dǎo)出為Excel,且能將Excel數(shù)據(jù)導(dǎo)入到系統(tǒng),對(duì)于大多數(shù)研發(fā)人員來說,這算是一個(gè)最基本的操作了,本文就給大家總結(jié)一下SpringBoot導(dǎo)出Excel的四種實(shí)現(xiàn)方式,需要的朋友可以參考下
    2024-01-01
  • Java的分片上傳功能的實(shí)現(xiàn)

    Java的分片上傳功能的實(shí)現(xiàn)

    本文主要介紹了Java的分片上傳功能的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • java使用JNA(Java Native Access)調(diào)用dll的方法

    java使用JNA(Java Native Access)調(diào)用dll的方法

    java使用JNA(Java Native Access)調(diào)用windows系統(tǒng)的dll文件的例子
    2013-11-11
  • Java按值傳遞和按址傳遞(面試常見)

    Java按值傳遞和按址傳遞(面試常見)

    這篇文章主要介紹了Java按值傳遞和按址傳遞(面試常見)知識(shí),在面試筆試題中經(jīng)常會(huì)遇到,今天小編給大家詳細(xì)介紹下,需要的朋友可以參考下
    2017-02-02
  • intellij idea中安裝、配置mybatis插件Free Mybatis plugin的教程詳解

    intellij idea中安裝、配置mybatis插件Free Mybatis plugin的教程詳解

    這篇文章主要介紹了intellij idea中安裝、配置mybatis插件Free Mybatis plugin的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例

    詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例

    這篇文章主要介紹了詳解java 中Spring jsonp 跨域請(qǐng)求的實(shí)例的相關(guān)資料,jsonp 可用于解決主流瀏覽器的跨域數(shù)據(jù)訪問的問題,需要的朋友可以參考下
    2017-08-08
  • Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解

    Java SMM框架關(guān)聯(lián)關(guān)系映射示例講解

    SSM框架是spring MVC ,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理,spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎
    2022-08-08
  • 聊聊Kotlin?中?lateinit?和?lazy?的原理區(qū)別

    聊聊Kotlin?中?lateinit?和?lazy?的原理區(qū)別

    使用 Kotlin 進(jìn)行開發(fā),對(duì)于 latelinit 和 lazy 肯定不陌生。但其原理上的區(qū)別,可能鮮少了解過,借著本篇文章普及下這方面的知識(shí),感興趣的朋友一起看看吧
    2022-07-07
  • SpringBoot整合jersey的示例代碼

    SpringBoot整合jersey的示例代碼

    本篇文章主要介紹了SpringBoot整合jersey的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • 一篇文章帶你詳解Spring的AOP

    一篇文章帶你詳解Spring的AOP

    這篇文章主要為大家介紹了Spring的AOP,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評(píng)論