没有使用if标签时,如果有一个参数为null,都会导致错误。
当在update语句中使用if标签时,如果最后的if没有执行,则或导致逗号多余错误。
使用set标签可以将动态的配置set关键字,和剔除追加到条件末尾的任何不相关的逗号。
<update id="updateNodeById" parameterType="com.wht.demo.dao.vo.AgentVo">
update t_node_agent t
<set>
<if test='appId !=null and appId != "" '>
t.app_id= #{appId},
</if>
<if test='osType!=null and osType!= "" '>
t.os_type= #{osType},
</if>
</set>
where node_id=#{nodeId}
</update>