mybatis动态sql根据java枚举判断不执行,执行otherwise,解决办法

来源:互联网 发布:58中国经纪人网络平台 编辑:程序博客网 时间:2024/05/17 23:42

解决办法,不使用枚举字段,使用string类型字段;



更改之前代码的错误代码

public enum EventType implements IEnum<EventType> {

UNKNOWN(0, "未知"), RED_CARD(1, "红牌"), YELLOW_CARD(2, "黄牌"), GOAL(3, "进球"), SUBSTITUTION(4, "换人");


枚举类;


某类中存在这个枚举类的属性

private EventType eventType;


mapper文件:

<choose>
                <when test="item.eventType == 'RED_CARD'">
                    1
                </when>  
                <otherwise>
                    0
                </otherwise>
            </choose>

即使 item.eventType为RED_CARD 也执行0,不会执行1,


更改后代码 


将类中的枚举值属性更改为string类型


private String eventType;


然后就一切正常了





原创粉丝点击