如何使用 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\")'>"
我在 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\")'>"