Mybatis 判斷 Integer類型的值為0情況

應(yīng)用場景:

有個需求势誊,需要通過狀態(tài)(status=0或1)來查詢數(shù)據(jù),status類型為Integer

```

<if test="status !=null and status!=''">

? and status = #{status}

</if>

```

當(dāng)傳入status=0時捺球,并沒有進入該條件里面缸浦;但傳入1或其他都可以根據(jù)status條件查詢夕冲;為什么呢?

通過源碼了解到裂逐,mybatis在預(yù)編譯sql時歹鱼,使用OGNL表達式來解析if標簽,對于Integer類型屬性卜高,在判斷不等于''時弥姻,例如status != '',OGNL會返回''的長度掺涛,

源碼:(s.length() == 0) ? 0.0 : Double.parseDouble( s )庭敦,

因此表達式status != ''被當(dāng)做status != 0來判斷,所以當(dāng)status=0時薪缆,if條件判斷不通過秧廉。

我們只需要將status!=''條件去掉就可以解決上面這個問題。

總結(jié):

1拣帽、盡量使用包裝類:我們知道java的基本數(shù)據(jù)類型都會有默認值疼电,如果直接使用基本數(shù)據(jù)類型會給我們的查詢帶來不必要的麻煩,所以盡量使用包裝類代替减拭。

2蔽豺、這設(shè)計數(shù)據(jù)庫時可以使用字符串類型代替int類型,這樣就避免了上述的問題

這里有詳細的源碼介紹拧粪,對源碼感興趣的小伙伴戳:https://blog.csdn.net/qq_30038111/article/details/82665763

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末修陡,一起剝皮案震驚了整個濱河市沧侥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌濒析,老刑警劉巖正什,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異号杏,居然都是意外死亡婴氮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門盾致,熙熙樓的掌柜王于貴愁眉苦臉地迎上來主经,“玉大人,你說我怎么就攤上這事庭惜≌肿ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵护赊,是天一觀的道長惠遏。 經(jīng)常有香客問我,道長骏啰,這世上最難降的妖魔是什么节吮? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮判耕,結(jié)果婚禮上透绩,老公的妹妹穿的比我還像新娘。我一直安慰自己壁熄,他們只是感情好帚豪,可當(dāng)我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著草丧,像睡著了一般狸臣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昌执,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天烛亦,我揣著相機與錄音,去河邊找鬼仙蚜。 笑死此洲,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的委粉。 我是一名探鬼主播呜师,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼贾节!你這毒婦竟也來了汁汗?” 一聲冷哼從身側(cè)響起衷畦,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎知牌,沒想到半個月后祈争,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡角寸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年菩混,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扁藕。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡沮峡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亿柑,到底是詐尸還是另有隱情邢疙,我是刑警寧澤嗡午,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布兔院,位于F島的核電站压语,受9級特大地震影響儡蔓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜啃勉,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一再层、第九天 我趴在偏房一處隱蔽的房頂上張望缩赛。 院中可真熱鬧采转,春花似錦聪廉、人聲如沸瞬痘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽框全。三九已至察绷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間津辩,已是汗流浹背拆撼。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留喘沿,地道東北人闸度。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像蚜印,于是被迫代替她去往敵國和親莺禁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,955評論 2 355