如何使用 mybatis 注释在 if 中枚举

how to enum in a if with mybatis annotation

我在 MyBatis 注释.

的 if 中使用枚举编写语法时遇到问题
@Delete("<script>DELETE FROM tb_a WHERE "
        + "<if test='context.name().equals(ALBUM)'>"
        + " album_id = #{id}"
        + "</if>"
        + "<if test='context.name().equals(VIDEOLIBRARY)'>"
        + " videolibrary_id = #{id}"
        + "</if>"
      + "</script>")
 boolean delete(@Param("id") int id, @Param("context") EContext context);

枚举

public enum EContext {
    ALBUM,
    VIDEOLIBRARY,
    IMAGE,
    VIDEO,
}

我所知道的正确语法是这样的<if test="context.name().equals('ALBUM')"> 但我不知道如何用注释来写它。 我收到此错误消息

感谢您的帮助

已编辑以显示有关代码的更多信息

name() 方法 returns a java.lang.String 并且在 OGNL 中,字符串文字应该用单引号或双引号引起来。

所以,if元素应该写成..

+ "<if test=\"context.name().equals('ALBUM')\">"

+ "<if test='context.name().equals(\"ALBUM\")'>"