最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2026年05月16日 09:11:16   作者:慢慢變富的w  
這篇文章主要介紹了mybatis-plus判斷參數(shù)是否為空并作為查詢條件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

判斷參數(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)      

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

StringUtils.isNullOrEmpty()方法作用是

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

附上 isNullOrEmpty() 源碼

	/**
     * 判斷對象或?qū)ο髷?shù)組中每一個對象是否為空: 對象為null,字符序列長度為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”, “老王”) 等價于 name = ‘老王’

查詢時某些字段為null的問題

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • MacOS如何安裝配置多個JDK并切換使用詳解

    MacOS如何安裝配置多個JDK并切換使用詳解

    這篇文章主要介紹了如何在MacOS上安裝和配置多個JDK版本,通過配置環(huán)境變量來實現(xiàn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • springboot快速整合Mybatis組件的方法(推薦)

    springboot快速整合Mybatis組件的方法(推薦)

    Spring Boot是由Pivotal團(tuán)隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了springboot快速整合Mybatis組件的方法,需要的朋友可以參考下
    2019-11-11
  • Spring中@Conditional注解的詳細(xì)講解及示例

    Spring中@Conditional注解的詳細(xì)講解及示例

    這篇文章主要介紹了Spring中@Conditional注解的詳細(xì)講解及示例,@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進(jìn)行判斷,滿足條件給容器注冊bean,需要的朋友可以參考下
    2023-11-11
  • 在SpringBoot中該如何配置攔截器

    在SpringBoot中該如何配置攔截器

    今天給大家?guī)淼氖顷P(guān)于SpringBoot的相關(guān)知識,文章圍繞在SpringBoot中該如何配置攔截器展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • mybatis-plus返回查詢總記錄數(shù)方式

    mybatis-plus返回查詢總記錄數(shù)方式

    這篇文章主要介紹了mybatis-plus返回查詢總記錄數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • mybatis中的異常BindingException詳解

    mybatis中的異常BindingException詳解

    這篇文章主要介紹了mybatis中的異常BindingException詳解,此異常是mybatis中拋出的,意思是使用的這個方法找到,但是因為mapperScan()已經(jīng)掃描到了Mapper類了,在綁定Mapper.xml時沒有綁定到導(dǎo)致的,需要的朋友可以參考下
    2024-01-01
  • 關(guān)于protected修飾符詳解-源于Cloneable接口

    關(guān)于protected修飾符詳解-源于Cloneable接口

    這篇文章主要介紹了protected修飾符詳解-源于Cloneable接口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java中的類型擦除type?erasure示例詳解

    java中的類型擦除type?erasure示例詳解

    泛型是java從JDK?5開始引入的新特性,泛型的引入可以讓我們在代碼編譯的時候就強制檢查傳入的類型,從而提升了程序的健壯度,泛型可以用在類和接口上,在集合類中非常常見,本文將會講解泛型導(dǎo)致的類型擦除
    2023-09-09
  • Java多線程編程基石ThreadPoolExecutor示例詳解

    Java多線程編程基石ThreadPoolExecutor示例詳解

    這篇文章主要為大家介紹了Java多線程編程基石ThreadPoolExecutor示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 使用Netty搭建服務(wù)端和客戶端過程詳解

    使用Netty搭建服務(wù)端和客戶端過程詳解

    這篇文章主要介紹了使用Netty搭建服務(wù)端和客戶端過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07

最新評論

柘荣县| 定兴县| 门头沟区| 永顺县| 黎平县| 车险| 墨玉县| 稷山县| 彩票| 米脂县| 东港市| 连山| 莱芜市| 昌吉市| 石嘴山市| 石棉县| 抚远县| 石楼县| 永福县| 平罗县| 高要市| 淳化县| 福安市| 九龙坡区| 玉屏| 金门县| 新津县| 临汾市| 彰化市| 东宁县| 泰和县| 新建县| 辽中县| 天津市| 肃宁县| 绥德县| 仁布县| 中江县| 上林县| 威远县| 罗田县|