溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mybatis參數(shù)String與Integer類型的判斷方式是什么

發(fā)布時(shí)間:2022-03-14 11:52:54 來(lái)源:億速云 閱讀:257 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“mybatis參數(shù)String與Integer類型的判斷方式是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“mybatis參數(shù)String與Integer類型的判斷方式是什么”文章能幫助大家解決問(wèn)題。

String與Integer類型的判斷

mybatis寫update時(shí),正常是set了值才會(huì)進(jìn)行update操作

我們一般是這樣寫

<if test="sampleBatchNo != null and sampleBatchNo != ''">
SAMPLE_BATCH_NO =#{sampleBatchNo,jdbcType=VARCHAR},
</if>

1、 String類型是符合的,但是如果是Integer類型的話,mybatis會(huì)將i==0的值也認(rèn)定為空字符串。

所以如果是Integer類型只需要判斷!= null即可

2、如果String類型需要判斷不等于0,則需要寫sampleBatchNo != '0'.toString(),否則會(huì)報(bào)錯(cuò)。 

使用<if>標(biāo)簽判斷Integer類型的坑

之前只知道如果是Integer類型,判斷是否傳參的時(shí)候判空就好,因?yàn)?會(huì)被認(rèn)為和空字符''相等。

沒想到還有另外的問(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ù)正常。

mybatis參數(shù)String與Integer類型的判斷方式是什么

關(guān)于“mybatis參數(shù)String與Integer類型的判斷方式是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI