mybatis參數(shù)String與Integer類型的判斷方式
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)為和空字符''相等。
沒想到還有另外的問題
<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)文章
Spring使用Redis限制用戶登錄失敗的次數(shù)及暫時(shí)鎖定用戶登錄權(quán)限功能
這篇文章主要介紹了Spring使用Redis限制用戶登錄失敗的次數(shù)及暫時(shí)鎖定用戶登錄權(quán)限功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
maven打包成第三方j(luò)ar包且把pom依賴包打入進(jìn)來的方法
這篇文章主要介紹了maven打包成第三方j(luò)ar包且把pom依賴包打入進(jìn)來的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
Java 格式化輸出JSON字符串的2種實(shí)現(xiàn)操作
這篇文章主要介紹了Java 格式化輸出JSON字符串的2種實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Spring Data JPA 簡(jiǎn)單查詢--方法定義規(guī)則(詳解)
下面小編就為大家?guī)硪黄猄pring Data JPA 簡(jiǎn)單查詢--方法定義規(guī)則(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求
這篇文章主要介紹了Java線程池如何實(shí)現(xiàn)精準(zhǔn)控制每秒API請(qǐng)求問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

