使用Mybatis接收Integer參數(shù)的問(wèn)題
Mybatis接收Integer參數(shù)
最近在做項(xiàng)目的時(shí)候,在mybatis中用標(biāo)簽判斷分頁(yè)參數(shù)時(shí),出現(xiàn)了問(wèn)題。
<if test="startRow != null and startRow != '' and selectRow != null and selectRow != ''"> ?? ?LIMIT #{startRow},#{selectRow} </if>
這段代碼是為了在SQL中設(shè)置分頁(yè)參數(shù),接收的參數(shù)類(lèi)型都為Integer。
我們都知道要查詢第一頁(yè)的話,startRow要賦值為0,但是這段代碼一直不起作用。正常來(lái)說(shuō),0既不為null,也不等于空字符串;
但是查閱資料才知道,mybatis接收Integer參數(shù)時(shí),若參數(shù)值為0,為被解析為空字符串' '
解決辦法
<if test="startRow != null and selectRow != null"> ?? ?LIMIT #{startRow},#{selectRow} </if>
1.只判斷Integer參數(shù)不為null,不用判斷不為空字符串;
2.可以判斷參數(shù)不等于0(在我的例子中不適用)
Mybatis在使用Integer類(lèi)型
當(dāng)傳人mybatis構(gòu)成sql語(yǔ)句時(shí)
傳入的類(lèi)型為int類(lèi)型的值為0時(shí),會(huì)被認(rèn)為是空字符串,所以只要這樣判斷
就可以了:
?<if test="payStatus != null and payStatus != '' or payStatus == 0"> ? ? ? ? ? ? ? ? AND info.pay_status = #{payStatus} ? ? ? ? ? ? </if>
當(dāng)payStatus的值為0時(shí),再加一個(gè)payStatus==0就會(huì)走入if。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java StringUtils字符串分割轉(zhuǎn)數(shù)組的實(shí)現(xiàn)
這篇文章主要介紹了Java StringUtils字符串分割轉(zhuǎn)數(shù)組的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09平衡二叉樹(shù)的左右旋以及雙旋轉(zhuǎn)的圖文詳解
今天小編就為大家分享一篇關(guān)于平衡二叉樹(shù)的左右旋以及雙旋轉(zhuǎn)的圖文詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01Spring?Data?JPA實(shí)現(xiàn)查詢結(jié)果返回map或自定義的實(shí)體類(lèi)
這篇文章主要介紹了Spring?Data?JPA實(shí)現(xiàn)查詢結(jié)果返回map或自定義的實(shí)體類(lèi),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Mybatis之@ResultMap,@Results,@Result注解的使用
這篇文章主要介紹了Mybatis之@ResultMap,@Results,@Result注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12zuulGateway 通過(guò)filter統(tǒng)一修改返回值的操作
這篇文章主要介紹了zuulGateway 通過(guò)filter統(tǒng)一修改返回值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10