Как я могу добавить условие условие не требуется, если элемент? - PullRequest
0 голосов
/ 17 марта 2020

Допустим, у меня интерфейс выглядит следующим образом.

@Mapper
interface UserMapper {
    List<User> search(@Nullable String namePattern, int minAge); 
}

Как мне поступить с параметром minAge, который не требуется для элемента <if/>?

Должен ли я просто сделать с <if test="true"/>?

<where>
  <if test="namePattern != null">
    name LIKE #{namePattern}
  </if>
  <if test="true"> <!-- just true??? -->
    AND age >= #{minAge}
  </if>
</where>

Можно ли очистить второй <if/> элемент?

<where>
  <if test="namePattern != null">
    name LIKE #{namePattern}
  </if>
  AND age >= #{minAge} <!-- will it blend? -->
</where>

1 Ответ

1 голос
/ 17 марта 2020

Конечно. <where /> удаляет ненужные AND, поэтому он должен работать.

Другой подход - записать условие age перед <if /> s.

WHERE age >= #{minAge}
<if test="namePattern != null">
  AND name LIKE #{namePattern}
</if>
...