mybatis巨坑:if判断如果类型是integer,值为0,判断不成立
2020-06-28 05:12
31 查看
<if test="bean.endNum != null and bean.endNum != ''"> end_num=#{bean.endNum}, </if>
比如上述问题,在server层传递参数为0,bean.endNum 为Integer类型,值为0,传过来之后,if条件盘点不成立,日志打印出来,生成语句不包含该部分。
只需要改成如下:
<if test="bean.endNum != null and bean.endNum != '' or bean.endNum == 0"> end_num=#{bean.endNum}, </if>
或将Integer类型改成int
为什么会这样,因为值为0是解析过来为false,所有无法进入判断语句。
相关文章推荐
- mybatis 基本类型的if条件判断问题 There is no getter for property named 'xxx' in 'class Java.lang.Integer'
- mybatis中<if>标签bool值类型为false判断方法
- mybatis if条件判断字符串类型是否一致
- Mybatis动态sql条件查询中if判断Integer的条件写法
- mybatis的if标签对于单个基本数据类型的参数的判断问题
- 当mapper中的parametType为基本类型(如int,string等)时,报错的问题(mybatis使用了<if>判断)
- mybatis中if test 语句 当参数类型为string时,如何写判断条件
- 如果不空null并且不是空字符串才去修改这个值,但这样写只能针对字符串(String)类型,如果是Integer类型的话就会有问题了。 int i = 0; i!=''。 mybatis中会返回tr
- mybatis参数String与Integer类型的判断
- MyBatis基本数据类型if判断
- Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案
- mybatis sql中if判断传入Integer类型,传入0时,判断没有执行
- mybatis if判断参数类型为int 参数值为0时 ,结果为false 不进入if标签
- mybatis 传入一个简单类型的参数,if判断的两种写法
- mybatis String的if条件判断问题 There is no getter for property named 'xxx' in 'class Java.lang.Integer'
- mybatis if判断int类型的查询条件如何判断空和空字符串
- 关于mybatis 传入基本参数类型使用if test 判断出错的问题
- 关于mybatis中基本类型条件判断问题
- C#基础-006(1)if练习题 判断一个数是不是偶数,如果是偶数那么就加1并打印
- Struts2 用 s:if test 判断String类型的对象属性值和单字符是否相等的问题