Python 官方文档:入门教程 => 点击学习
目录mybatis if test判断入参的值1.第一种判断方式2.第二种判断方式if test动态判断数字时出现的错误mybatis中if test判断数字mybatis if t
<if test=' requisition != null and requisition == "Y" '>
AND 表字段 = #{requisition}
</if>
<if test=" requisition != null and requisition == 'Y'.toString() ">
AND 表字段 = #{requisition}
</if>
在实现搜索功能时碰到的错误,很多时候我们会在数据库中使用一个字段来作为状态保存,如:0=男,1=女;0=禁止,1=启用等。
无论我选择停用、还是启用,都将整个表格的数据显示出来,没有起到筛选的作用。
通过排除,找到了导致问题的代码:
<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类型的字符串时起作用,由于status是Integer类型,判断条件不成立,没起到作用。如:当传入的值是1时,’1’会被解析成字符。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: mybatis中的if test判断入参的值问题
本文链接: https://www.lsjlt.com/news/150624.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0