mybatis參數(shù)String與Integer類(lèi)型的判斷方式
String與Integer類(lèi)型的判斷
mybatis寫(xiě)update時(shí),正常是set了值才會(huì)進(jìn)行update操作
我們一般是這樣寫(xiě)
<if test="sampleBatchNo != null and sampleBatchNo != ''">
SAMPLE_BATCH_NO =#{sampleBatchNo,jdbcType=VARCHAR},
</if>1、 String類(lèi)型是符合的,但是如果是Integer類(lèi)型的話(huà),mybatis會(huì)將i==0的值也認(rèn)定為空字符串。
所以如果是Integer類(lèi)型只需要判斷!= null即可
2、如果String類(lèi)型需要判斷不等于0,則需要寫(xiě)sampleBatchNo != '0'.toString(),否則會(huì)報(bào)錯(cuò)。
使用<if>標(biāo)簽判斷Integer類(lèi)型的坑
之前只知道如果是Integer類(lèi)型,判斷是否傳參的時(shí)候判空就好,因?yàn)?會(huì)被認(rèn)為和空字符''相等。
沒(méi)想到還有另外的問(wèn)題
<if test="req.type != null and req.type = 1"> </if>
注意上面的第二個(gè)條件使用的單個(gè)等號(hào)
此時(shí)不管你req.type傳啥值(0啊,null啊,負(fù)數(shù)?。?,甚至是不傳這個(gè)屬性,都會(huì)符合條件
<if test="req.type != null and req.type == 1"> ? ? ? ? ? ? ? </if>
然后我改成==之后,一切恢復(fù)正常。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何獲取java中類(lèi)的所有對(duì)象實(shí)例
如何在運(yùn)行時(shí)獲取一個(gè)Java類(lèi)的所有對(duì)象實(shí)例呢,本文給大家介紹一種底層實(shí)現(xiàn)的方式,基于jvmti,代碼用C++實(shí)現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
Spring使用Redis限制用戶(hù)登錄失敗的次數(shù)及暫時(shí)鎖定用戶(hù)登錄權(quán)限功能
這篇文章主要介紹了Spring使用Redis限制用戶(hù)登錄失敗的次數(shù)及暫時(shí)鎖定用戶(hù)登錄權(quán)限功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
maven打包成第三方j(luò)ar包且把pom依賴(lài)包打入進(jìn)來(lái)的方法
這篇文章主要介紹了maven打包成第三方j(luò)ar包且把pom依賴(lài)包打入進(jìn)來(lái)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Java 格式化輸出JSON字符串的2種實(shí)現(xiàn)操作
這篇文章主要介紹了Java 格式化輸出JSON字符串的2種實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
Spring Data JPA 簡(jiǎn)單查詢(xún)--方法定義規(guī)則(詳解)
下面小編就為大家?guī)?lái)一篇Spring Data JPA 簡(jiǎn)單查詢(xún)--方法定義規(guī)則(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求
這篇文章主要介紹了Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

