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

Mybatis判斷空字符串的問題

 更新時間:2022年03月12日 10:17:14   作者:詩人不寫詩  
這篇文章主要介紹了Mybatis判斷空字符串的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis判斷空字符串

先說結(jié)論:如果使用正確,是不會產(chǎn)生任何問題的。大家各種疑惑,全是使用不當(dāng)產(chǎn)生的。

先說正確的使用方式

一般判空的方式就是:

非String類型使用obj != null即可

String類型通常要加一個空串的判斷obj != null and obj != '',如果入?yún)㈩愋蛯?yīng)的判斷方式使用正確,不會有問題。

但是有很多做事不認(rèn)真的人,會把這兩個用反,雖然沒報錯,但是邏輯卻不是預(yù)想中的,錯誤的使用例子就是,入?yún)⑹且粋€數(shù)字類型,如Long,但是在判空時使用obj != null and obj != '',這種做法本身就是錯誤的,你會發(fā)現(xiàn),當(dāng)Long值傳0的時候,obj != ''是成立的,就導(dǎo)致了完全出乎預(yù)料的結(jié)果。其中mybatis的處理方式是,當(dāng)發(fā)現(xiàn)你用一個數(shù)字類型的對象和串比較的時候,他會將串轉(zhuǎn)換成數(shù)字類型,非空串的時候是沒有問題的,空串的時候,mybatis將空串轉(zhuǎn)換成數(shù)字0,這就是mybatis做的實現(xiàn),沒有什么漏洞,問題根源是對非字符串類型做了空串判斷的錯誤操作。最后的結(jié)論就是,數(shù)字類型的對象不要使用空串判斷表達(dá)式obj != ''。

還有一個題外話

兩個系統(tǒng)交互時,數(shù)據(jù)在網(wǎng)絡(luò)傳輸時是不具備類型的,只是到了端時,才會進(jìn)行類型識別,我們通常和前端交互,數(shù)據(jù)在傳輸過程中都是串,也就是沒有null這種,所以后端接收時規(guī)定的類型就非常重要了,需要注意的情況就是后端定義String類型時,不會出現(xiàn)null(除非前端沒有傳遞這個參數(shù)),只會是空字符串,所以在判斷時需要注意。

Mybatis判斷為空注意

在這里插入圖片描述

startBalance java中是BigDecimal類型

這樣寫,startBalance != ‘’ 會返回false ,所以對象不能判斷 != ‘’ ;

普通的String是可以的…

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

相關(guān)文章

  • 詳解Spring中Lookup注解的使用

    詳解Spring中Lookup注解的使用

    我們知道在spring容器中單獨的一個抽象類是不能成為一個bean的,那么有沒有辦法呢?這個時候我們可以使用Lookup注解,下面跟隨小編看下Spring中Lookup注解的使用
    2021-10-10
  • java開發(fā)非公平鎖不可打斷源碼示例解析

    java開發(fā)非公平鎖不可打斷源碼示例解析

    這篇文章主要為大家介紹了java開發(fā)非公平鎖不可打斷源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 本地jvm執(zhí)行flink程序帶web ui的操作

    本地jvm執(zhí)行flink程序帶web ui的操作

    這篇文章主要介紹了本地jvm執(zhí)行flink程序帶web ui的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • jstack報錯Unable to open socket file解決

    jstack報錯Unable to open socket file解決

    這篇文章主要為大家介紹了jstack報錯Unable to open socket file的解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-02-02
  • MyBatis實現(xiàn)模糊查詢的幾種方式

    MyBatis實現(xiàn)模糊查詢的幾種方式

    這篇文章主要介紹了MyBatis實現(xiàn)模糊查詢的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • java通過AOP實現(xiàn)全局日志打印詳解

    java通過AOP實現(xiàn)全局日志打印詳解

    最近自己一直再看現(xiàn)有微服務(wù)的日志模塊,發(fā)現(xiàn)就是使用AOP來做controller層的日志處理,加上項目在進(jìn)行架構(gòu)優(yōu)化,這篇文章主要給大家介紹了關(guān)于java通過AOP實現(xiàn)全局日志打印的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 解決Java Redis刪除HashMap中的key踩到的坑

    解決Java Redis刪除HashMap中的key踩到的坑

    這篇文章主要介紹了解決Java Redis刪除HashMap中的key踩到的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring Boot Starter 的應(yīng)用場景與自動配置方式

    Spring Boot Starter 的應(yīng)用場景與自動配置方式

    本文介紹了Spring Boot Starter的使用場景,如何自定義Starter以及Spring Boot自動配置原理,Spring Boot Starter解決了依賴導(dǎo)入和配置繁瑣的問題,通過自動配置類和xxxProperties類實現(xiàn)組件的自動注入和配置,感興趣的朋友一起看看吧
    2025-03-03
  • 5分鐘快速學(xué)會spring boot整合JdbcTemplate的方法

    5分鐘快速學(xué)會spring boot整合JdbcTemplate的方法

    這篇文章主要給大家介紹了如何通過5分鐘快速學(xué)會spring boot整合JdbcTemplate的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot整合JdbcTemplate具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Spring?Bean注冊與注入實現(xiàn)方法詳解

    Spring?Bean注冊與注入實現(xiàn)方法詳解

    首先,要學(xué)習(xí)Spring中的Bean的注入方式,就要先了解什么是依賴注入。依賴注入是指:讓調(diào)用類對某一接口的實現(xiàn)類的實現(xiàn)類的依賴關(guān)系由第三方注入,以此來消除調(diào)用類對某一接口實現(xiàn)類的依賴。Spring容器中支持的依賴注入方式主要有屬性注入、構(gòu)造函數(shù)注入、工廠方法注入
    2022-10-10

最新評論

游戏| 南昌市| 乌兰浩特市| 新龙县| 板桥市| 凌源市| 湘阴县| 三穗县| 安仁县| 灵武市| 双辽市| 江阴市| 郁南县| 普兰店市| 台中市| 庆城县| 宁陕县| 上思县| 方城县| 遂川县| 双江| 锡林浩特市| 怀仁县| 平凉市| 甘肃省| 塔河县| 车致| 施秉县| 淮北市| 无为县| 保山市| 周宁县| 乌恰县| 东乡| 东阿县| 济阳县| 乌兰县| 施甸县| 景谷| 麻江县| 乳源|