<when test="rateModel.searchDayFlag != null and rateModel.searchDayFlag=='1'">
and t.calc_time = #{rateModel.calcTime}
</when>
<otherwise>
and t.calc_time = #{rateModel.yesterday}
</otherwise>
</choose>
今天遇到一个问题,就是sql进不了when标签里面,我纠结了半天,最后才发现原因:
双引号和单引号是互用的 但是字符串判断那里要用双引号,改成下面这样就好了
<choose>
<when test='rateModel.searchDayFlag != null and rateModel.searchDayFlag=="1"'>
and t.calc_time = #{rateModel.calcTime}
</when>
<otherwise>
and t.calc_time = #{rateModel.yesterday}
</otherwise>
</choose>
而且,我前面写的是=‘1’,这也是 不对的,字符串要==或者用equals() 就搞定了,以后注意。