mybatis中0和null关系处理

2016-4-26   最近在项目开发中,mybatis遇到一个很奇怪的问题,因为想在后台传一个int型0作为查询条件的数据,却被识别成了null。后面,排除问题时,查到mybatis源码对其进行了强制定义。所以解决问题可以改造mybatis源码,或者简单的做以下处理

前期写法:

<if test="sexId != null and sexId != ''>
AND sex_id = #{sexId,jdbcType=INTEGER}
</if>

改造后写法:

<if test="sexId != null and sexId != '' or sexId ==0">
AND sex_id = #{sexId,jdbcType=INTEGER}
</if>

2016-4-28   Mybatis integer类型  0被识别为空字符串的解决办法

   正常来说,0不为空也不是空字符串。所以,针对这个问题,解决办法是:如果类型为Integer类型,我就去掉 != ”的判断,只判断!=null即可。

   这就要求在前端integer不能传''; 必须转化为null传递。

你可能感兴趣的:(mybatis中0和null关系处理)