在mybatis中,对于
<if test="detailStatus != null and detailStatus != '' ">
DETAIL_STATUS,
</if>
当detailStatus是int或tinyint值是0时,mybatis会默认转换成‘’,而导致在0值传入是,将满足了否的条件,致使下面的执行条件不能进入,最终导致sql中的字段无法插入,而导致sql中无法拼接这个字段值.
如果此时字段要求非空且没有赋予默认值,那么最终回导致程序出现了错误,没有值设置,而导致报错.