我想知道如何使用if语句如下所述
<update id="update"
parameterType="com.MyClass">
UPDATE
Board SET Status = 1
<where>
<if test="A != null and A.length() > 0">AND A = ${A}</if>
</where>
</update>
当A!= null和A.length()> 0时,此语句有效。
但是如果A == null,那么更新整行设置1会导致没有where条件。
如果有适当的条件,有没有办法更新,否则跳过或忽略?
谢谢
<update id="update"
parameterType="com.MyClass">
UPDATE
Board SET Status = 1
<where>
<choose>
<when test="A != null and A.length() > 0">
AND A = ${A}
</when>
<otherwise>
AND 0 = 1
</otherwise>
</choose>
</where>
</update>
条件0 = 1时,where失败并且没有更新
<update id="update"
parameterType="com.MyClass">
UPDATE
Board SET Status = 1
<where>
<![CDATA[<if test="A != null and A.length() > 0">AND A = ${A}</if>]]>
</where>
</update>
尝试CDATA会很高兴