mybatis中的if test判断入参的值问题
更新时间:2022年06月06日 11:47:53 作者:四块五
这篇文章主要介绍了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返回map集合时,列的顺序与select不一致问题
这篇文章主要介绍了Mybatis返回map集合时,列的顺序与select不一致问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01Java中Queue的poll()和remove()区别详解
这篇文章主要介绍了Java中Queue的poll()和remove()区别详解,Queue接口提供了许多方法,其中poll()和remove()是两个常用的方法,它们的区别在于,当队列为空时,poll()方法返回null,而remove()方法会抛出,需要的朋友可以参考下2023-07-07Java7和Java8中的ConcurrentHashMap原理解析
这篇文章主要介绍了Java7和Java8中的ConcurrentHashMap原理解析,对ConcurrentHashMap感兴趣的读者,一定要好好看一下2021-04-04java通过Arrays.sort(int[] a)实现由大到小排序的方法实现
Java中的Arrays.sort()方法是一种内置的排序方法,用于对数组进行排序,本文就来介绍一下java中的Arrays.sort()排序方法的用法,具有一定的参考价值,感兴趣的可以了解一下2023-12-12仿京东平台框架开发开放平台(包含需求,服务端代码,SDK代码)
现在开放平台越来越多了,下面针对仿京东开放平台框架,封装自己的开放平台,分享给大家。先感谢一下京东开放平台的技术大佬们,下面从开放平台需求,服务端代码,SDK代码三大块进行分享2021-06-06
最新评论