mybatis中的if?test判斷入?yún)⒌闹祮?wèn)題
mybatis if test判斷入?yún)⒌闹?/h2>
1.第一種判斷方式
<if test=' requisition != null and requisition == "Y" '>
? ?AND 表字段 = #{requisition}
</if>2.第二種判斷方式
<if test=" requisition != null and requisition == 'Y'.toString() ">
AND 表字段 = #{requisition}
</if>if test動(dòng)態(tài)判斷數(shù)字時(shí)出現(xiàn)的錯(cuò)誤
mybatis中if test判斷數(shù)字
在實(shí)現(xiàn)搜索功能時(shí)碰到的錯(cuò)誤,很多時(shí)候我們會(huì)在數(shù)據(jù)庫(kù)中使用一個(gè)字段來(lái)作為狀態(tài)保存,如:0=男,1=女;0=禁止,1=啟用等。

無(wú)論我選擇停用、還是啟用,都將整個(gè)表格的數(shù)據(jù)顯示出來(lái),沒(méi)有起到篩選的作用。
通過(guò)排除,找到了導(dǎo)致問(wèn)題的代碼:
<select id="queryAllByLimit" resultMap="SystemMenuMap">
select
id, pid, title, icon, href, sort, status
from system_menu
<where>
<if test="systemMenu.status != null and systemMenu.status != '' ">
and status = #{systemMenu.status}
</if>
</where>
</select>改為:
<select id="queryAllByLimit" resultMap="SystemMenuMap">
select
id, pid, title, icon, href, sort, status
from system_menu
<where>
<if test="systemMenu.status != null">
and status = #{systemMenu.status}
</if>
</where>
</select>原因:
<if test="systemMenu.status != null and systemMenu.status != '' ">
只對(duì)判斷String類(lèi)型的字符串時(shí)起作用,由于status是Integer類(lèi)型,判斷條件不成立,沒(méi)起到作用。如:當(dāng)傳入的值是1時(shí),’1’會(huì)被解析成字符。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類(lèi)
這篇文章主要為大家詳細(xì)介紹了spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類(lèi),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Java的Hibernate框架中Criteria查詢使用的實(shí)例講解
這篇文章主要介紹了Java的Hibernate框架中Criteria查詢使用的實(shí)例講解,Hibernate是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下2016-01-01
詳解openfeign集成spring?cloud?loadbalancer實(shí)現(xiàn)負(fù)載均衡流程
這篇文章主要介紹了openfeign集成spring?cloud?loadbalancer實(shí)現(xiàn)負(fù)載均衡流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Springboot整合ActiveMQ實(shí)現(xiàn)消息隊(duì)列的過(guò)程淺析
昨天仔細(xì)研究了activeMQ消息隊(duì)列,也遇到了些坑,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合ActiveMQ的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
通過(guò)Class類(lèi)獲取對(duì)象(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇通過(guò)Class類(lèi)獲取對(duì)象(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
java使用ArrayList實(shí)現(xiàn)斗地主(無(wú)序版)
這篇文章主要為大家詳細(xì)介紹了java使用ArrayList實(shí)現(xiàn)斗地主,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
圖解Java經(jīng)典算法冒泡選擇插入希爾排序的原理與實(shí)現(xiàn)
冒泡排序是一種簡(jiǎn)單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對(duì)相鄰的元素,當(dāng)該對(duì)元素順序不正確時(shí)進(jìn)行交換。一直重復(fù)這個(gè)過(guò)程,直到?jīng)]有任何兩個(gè)相鄰元素可以交換,就表明完成了排序2022-09-09

