mybatis sql注释に判断条件を加える。

2107 ワード

LZは修正操作を行います。転送された値はnullです。修正は行いません。以前はxml形式で使用していましたが、今注解を見ます。
test=記入したのは実体類の属性フィールドです。
 @Update(" "</span> <span class="token operator">+</span>
            <span class="token string">"update training_history set "</span> <span class="token operator">+</span>
            <span class="token string">"<if test='uid!=null'> uid = #{uid},</if>"</span> <span class="token operator">+</span>
            <span class="token string">"<if test='prepare!=null'> prepare=#{prepare} ,</if>
"</span> <span class="token operator">+</span> <span class="token string">"<if test='start!=null'> start=#{start} ,</if>
"</span> <span class="token operator">+</span> <span class="token string">"<if test='end!=null'> end=#{end}, </if>"</span> <span class="token operator">+</span> <span class="token string">"<if test='results!=null'> results=#{results},</if> "</span> <span class="token operator">+</span> <span class="token string">"id = #{id} where id = #{id} "</span> <span class="token operator">+</span> <span class="token string">"
"
) fun updateById(trainingHistory:TrainingHistory): Int
以上はキーIDによって記録を修正しましたが、ここのフィールド属性は文字列ですので、nullで判断します。ここでは自分の要求によって修正します。注意しているのはid=嗲嗳{id}です。ここのidは元々修正する必要はありません。前の最後の条件が満たされない時に起こるsql語法の誤りを防ぐために、自分の解決方法です。
覚えてください。scriptタグを使ったら、sql文の中には(>)より大きいものが含まれてはいけません。()より小さいものがあってはいけません。解決して<号を<>号に変えます。