前面是遇到的问题,可以直接跳过看最后解决方法的最后一个demo
问题:
这样的写法会增加许多不必要的逻辑判断
- demo1
当其中有一个参数为空的时候,这个sql就不会被执行
<if test="beginDate != null and beginDate != '' and endDate != null and endDate != ''">
stock_bill.bill_date between #{beginDate} and #{endDate}
</if>
- demo2
此时我们将and改为or,但当一个参数为空时,会报错
<if test="beginDate != null and beginDate != '' or endDate != null and endDate != ''">
AND stock_bill.bill_date between #{beginDate} and #{endDate}
</if>