MyBatis лишняя запятая в запросе на обновление

В файле сопоставления Mybatis xml я попытался написать запрос на обновление таблицы User, как показано ниже. Каждый из входных параметров может быть нулевым, и я обновляю его, только если он не нулевой. Вы не знаете, какое условие «если» может провалиться, а какое может быть последним, поэтому запятую нужно добавлять в каждое утверждение.

Проблема в том, что дополнительный ',' вызывает исключение запроса. Кажется, Mybatis не игнорирует лишнюю запятую.

Мой обходной путь должен поставить "id = # {id}" в конце, который решил проблему, но это избыточно.

Какое реальное решение?

Код:

<update id="update" parameterType="User">
    UPDATE user SET

    <if test="username != null">
        username = #{username},
    </if>
    <if test="password != null">
        password = #{password},
    </if>
    <if test="email != null">
        email = #{email},
    </if>
    id= #{id} // this is redundant

    WHERE id = #{id}
</update>

PS: среда, которую я использую: Java Spring + MyBatis + MySQL.

Ответы на вопрос(1)

Ваш ответ на вопрос