mybatis之if判断d

因项目中比较多状态字段,用了大量的Integer 0和1进行判断

在功能做完后只是粗略的点了下觉得没多大问题(来自程序员强大的自信),

便提交了代码,很不巧的是刚好领导在做功能测试,发现了功能缺陷,主角来了:

在做牧户查询时所有的0判断均无效,而1有效。(java项目www.1b23.com)查阅资料得知在if语句做如下判断时intger类型0也视为false

<if test="status != null and status !=""">and status = #{status}</if> 

解决方案有二:

1、<if test="status != null ">and status = #{status}</if> 直接判断!=null即可,只有字符串才需要判断!=""。

2、或者这样写 <if test="status != null and status !="" or status==0 ">and status = #{status}</if> 

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » mybatis之if判断d