mybatis中的if?test判斷入?yú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í)候我們會在數(shù)據(jù)庫中使用一個(gè)字段來作為狀態(tài)保存,如:0=男,1=女;0=禁止,1=啟用等。

無論我選擇停用、還是啟用,都將整個(gè)表格的數(shù)據(jù)顯示出來,沒有起到篩選的作用。
通過排除,找到了導(dǎo)致問題的代碼:
<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 != '' ">
只對判斷String類型的字符串時(shí)起作用,由于status是Integer類型,判斷條件不成立,沒起到作用。如:當(dāng)傳入的值是1時(shí),’1’會被解析成字符。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類
這篇文章主要為大家詳細(xì)介紹了spring如何動(dòng)態(tài)指定具體實(shí)現(xiàn)類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Java的Hibernate框架中Criteria查詢使用的實(shí)例講解
這篇文章主要介紹了Java的Hibernate框架中Criteria查詢使用的實(shí)例講解,Hibernate是Java的SSH三大web開發(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ì)列的過程淺析
昨天仔細(xì)研究了activeMQ消息隊(duì)列,也遇到了些坑,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合ActiveMQ的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
java使用ArrayList實(shí)現(xiàn)斗地主(無序版)
這篇文章主要為大家詳細(xì)介紹了java使用ArrayList實(shí)現(xiàn)斗地主,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
圖解Java經(jīng)典算法冒泡選擇插入希爾排序的原理與實(shí)現(xiàn)
冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。其實(shí)現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對相鄰的元素,當(dāng)該對元素順序不正確時(shí)進(jìn)行交換。一直重復(fù)這個(gè)過程,直到?jīng)]有任何兩個(gè)相鄰元素可以交換,就表明完成了排序2022-09-09

