在mybatis的动态查询语句中,if test是我们比较常用的,当我们判断一个属性值是否为单个字符的时候。
就不能用<if test="takeWay == '1'">。
takeWay == “1”处出错,导致不执行if判断中的sql,运行程序不报错,没有任何提示。去掉takeWay == “1” and 则可执行。
因为
MyBatis是使用的OGNL表达式,’1’会被解析成字符,java是强类型的,char 和 一个string 会导致不等,所以if标签中的sql不会被解析。 需要改为<if test='takeWay == "1"'>
或者改为<if test="takeWay == '1'.toString() ">