今天当码农crud的时候遇到的一个坑,一时间没反应过来,具体业务是在前端传过来一个参数,我是用字符串进行接收的,mybatis的参数类型定义也是String,可是到了用这个参数进行判断的时候人就麻了,死活得不到正确的答案。
代码长这样:
select pci.xxx as id ,pci.xxx as name from xxx pci
<if test=" assessCase != null and assessCase=='1' ">
inner join xxx op on op.xxx = pci.xxx and op.xxx = 'xxx' and xxx = 'xxx'
</if>
就这么一个问题卡了一小会,太折磨了,贪图方便这个值我就用1来进行控制,前面一直是字符串类型,可是这里就校验不了,试了几遍,脑子一抽,改成了这样:
select pci.xxx as id ,pci.xxx as name from xxx pci
<if test=" assessCase != null and assessCase==1 ">
inner join xxx op on op.xxx = pci.xxx and op.xxx = 'xxx' and xxx = 'xxx'
</if>
重启再试一下,成功了!!!!!
总结:下次还是不图方便了