问题描述
枚举类StatusEnum 的定义
package com.constant;
import java.io.Serializable;
/**
* 状态枚举
*/
public enum StatusEnum {
// 未完成
INCOMPLETE,
// 已完成
COMPLETED,
}
原来的写法
<if test="status == @com.constant.StatusEnum@COMPLETED"></if>
可能是版本的问题,总是报错
### Error querying database.
Cause: java.lang.IllegalArgumentException:
invalid comparison: com.constant.StatusEnum and com.constant.StatusEnum
问题解决
变通的解决办法:将枚举类转为字符串判断
<if test="status.toString() == 'INCOMPLETE'"></if>
或者
<if test="status.toString() == @[email protected]()"></if>
Mapper.xml 中并没有语法提示,所以字符串判断也是可以的
参考