Mybatis判断Integer失效
Posted root_zhb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis判断Integer失效相关的知识,希望对你有一定的参考价值。
Mybatis判断Integer失效
问题
Mybatis传入Integer,值为0时,不更新
错误代码
实体类如下:
public class CompanyContact
private Integer enabledFlag;
//其他属性忽略
mapper文件如下:
<if test="companyContact.defaultFlag!=null and companyContact.defaultFlag!=''">
and default_Flag =#companyContact.defaultFlag
</if>
原因
Mybatis在判断 int 类型时,0认为是空字符串,由于加了companyContact.defaultFlag!=’’,因此判断为false,不走 if 逻辑
解决
去掉 !=’’ 判断
<if test="companyContact.defaultFlag!=null">
and default_Flag =#companyContact.defaultFlag
</if>
其他(匹配 int 值)
<if test='number=="0".toString'>
<!--相关逻辑-->
</if>
<if test='number=="1".toString'>
<!--相关逻辑-->
</if>
以上是关于Mybatis判断Integer失效的主要内容,如果未能解决你的问题,请参考以下文章
如何解决mybatis在xml中传入Integer整型参数为0时查询条件失效问题?亲测有效
如何解决mybatis在xml中传入Integer整型参数为0时查询条件失效问题?亲测有效