- 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】
- 【创作不易,点个赞就是对我最大的支持】
前言
仅作为学习笔记,供大家参考
总结的不错的话,记得点赞收藏关注哦!
目录
在mbatis中使用Xml配置sql语句时,出现了这样一个问题。当我传入的参数为0去做判断时,mybatis会把参数0当成是空字符串去判断而引起查询结果错误。下面是我之前配置的sql语句:
<if test="overdueDayTypes!=null and overdueDayTypes!=''">
<if test="overdueDayTypes == 0">
<![CDATA[and bcr.overdue_days<30]]>
</if>
<if test="overdueDayTypes == 1">
<![CDATA[and bcr.overdue_days>=30 and bcr.overdue_days<=90]]>
</if>
<if test="overdueDayTypes == 2">
<![CDATA[and bcr.overdue_days>90]]>
</if>
</if>
对于这个问题,有两种解决办法。
1.当传入的参数有0时,只判断!=null即可。
2.将0转化为String类型,就可以解决这个问题。
下面是我修改后的sql语句:
<if test="overdueDayTypes!=null and overdueDayTypes!='' or overdueDayTypes == '0'.toString()">
<if test="overdueDayTypes == '0'.toString()">
<![CDATA[and bcr.overdue_days<30]]>
</if>
<if test="overdueDayTypes == 1">
<![CDATA[and bcr.overdue_days>=30 and bcr.overdue_days<=90]]>
</if>
<if test="overdueDayTypes == 2">
<![CDATA[and bcr.overdue_days>90]]>
</if>
</if>
创作不易,点个赞就是对我最大的支持~
公众号:程序员温眉
CSDN:程序员温眉
每天进步一点点的程序员