mybatis映射文件,使用的是ognl表达式,在判断字符串apply 变量是否是字符串’1’的时候,会把’1’解析成字符,又因为java是强类型语言所以不能这样写:
<if test="apply == '1'">
and STR_TO_DATE(CONCAT(LEFT(rd.apply_begin_date,10),':',rd.apply_begin_time),'%Y-%m-%d:%H:%i') > NOW()
</if>
正确的写法有一下两种:
<if test='apply == "1"'>
and STR_TO_DATE(CONCAT(LEFT(rd.apply_begin_date,10),':',rd.apply_begin_time),'%Y-%m-%d:%H:%i') > NOW()
</if>
<if test="apply == '1'.toString()">
and STR_TO_DATE(CONCAT(LEFT(rd.apply_begin_date,10),':',rd.apply_begin_time),'%Y-%m-%d:%H:%i') > NOW()
</if>