mybatis中的if test判断入参值问题怎么解决
短信预约 -IT技能 免费直播动态提醒
本文小编为大家详细介绍“mybatis中的if test判断入参值问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis中的if test判断入参值问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
mybatis if test判断入参的值
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动态判断数字时出现的错误
mybatis中if test判断数字
在实现搜索功能时碰到的错误,很多时候我们会在数据库中使用一个字段来作为状态保存,如: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’会被解析成字符。
读到这里,这篇“mybatis中的if test判断入参值问题怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341