今天发现一个停留了比较久的低级bug,根本原因是忽略了基本类型变量有默认值。
接口的入参BO中有个flag变量:
public class queryBo {
...
/**
* 筛选条件
*/
private boolean flag;
}
这个变量在mapper中有用到:
where 1 = 1
<if test="queryBo.flag == true">
and table.filed = 1
</if>
<if test="queryBo.flag == false">
and table.filed != 1
</if>
前端如果不传flag这个参数,这个参数默认是false,就会走到后面的判断里,所以boolean很好用,下次遵循规范!!!