При использовании mybatis динамический SQL очень мощный, например, для ОБНОВЛЕНИЯ:
<update id="update">
UPDATE BOOKS
<set>
<if test="book.author != null">AUTHOR=#{book.author},</if>
<if test="book.name != null">NAME=#{book.name}</if>
</set>
WHERE ID=#{book.id}
</update>
Это работает, когда author или name не равно null, сбой при обоих значениях null, поскольку в SQL есть синтаксическая ошибка.
Мой вопрос: возможно ли пропустить обновление, когда все тесты между <set>
не пройдены, или мне нужно написать дополнительный код Java для проверки перед выполнением оператора update
?