mybatis 中,对于 byte 类型的比较

                                                           mybatis 中,对于 byte 类型的比较

  mybatis 中,对于 byte 类型的比较 。只需要 test != null 就行。

在 mybatis 中对 if 做条件判断的时候,经常用的是 " test != null && teat != ' ' " ,但是对于 byte 类而言,只需要 test != null 就行。

刚开始被不知道,然后在坑里呆了半天。。所以在这里,打算对这个坑进行一下了解,以免以后入坑。

mybatis中if条件判断,其中numberType是数字类型(int,long,double,float,Integer…)等其中一种(,如果对其进行了非空字符判断,且这个时候数字类型的值为0,那么下面第一个if是不会进入执行的。

<where>

<if test="numberType!= null and numberType!=''">

AND NUMBER_TYPE = #{numberType}

</if>

<if test=" businessEndTime != '' and businessEndTime != null">

<![CDATA[AND BUSINESS_TIME <= TO_DATE(#{businessEndTime},'yyyy-mm-dd hh24:MI:SS')]]>

</if>

</where>

数字类型的进行非空字符判断本身就不合理,产生这种不合理情景也可以理解。0是被作为false的,所以也不会进条件,而且涉及到业务类型的判断的不要放在sql中,在java中判断,否则不好维护。

参考:

https://blog.csdn.net/lich1n/article/details/73511180

发布了19 篇原创文章 · 获赞 4 · 访问量 3756

猜你喜欢

转载自blog.csdn.net/qq_36155035/article/details/104900268