Использование параметров перечисления в MyBatis dynamic SQL

Как сделать динамический SQL в myBatis 3.1.1 на основе параметра константы перечисления?

1 ответов


Как сделать динамический SQL на основе констант перечисления

public enum Test {
    A, B;
}

Mapper.java:
    int test(@Param("t") Test t);

Mapper.xml:
    <select id="test" resultType="int">
        select
        <choose>
            <when test='t.name().equals("A")'>65</when>
            <when test='t.name().equals("B")'>66</when>
            <otherwise>0</otherwise>
        </choose>
    </select>   

Примечания

  • тестовое выражение должно ссылаться на строки, использующие двойные кавычки, а не одинарные кавычки.
  • вы не можете сравнивать константы, только строки.