一、不使用set标签
<update id="update">
update tb_sale set
sale_vip =#{saleVip},
sale_code=#{saleCode},
sale_good =#{saleGood},
sale_date =#{saleDate},
sale_operator =#{saleOperator},
sale_total =#{saleTotal},
sale_in =#{saleIn},
sale_back =#{saleBack},
sale_status =1
where sale_id=#{saleId}
</update>
<update id="update">
update tb_sale
set
<if test="saleVip!=null and saleVip!=''">
sale_vip =#{saleVip},
</if>
sale_code=#{saleCode},
sale_good =#{saleGood},
sale_date =#{saleDate},
sale_operator =#{saleOperator},
sale_total =#{saleTotal},
sale_in =#{saleIn},
sale_back =#{saleBack},
sale_status =1
where sale_id=#{saleId}
</update>
弊端:
1.修改所需的参数是数量固定且指定的 不灵活
2.if中关键字若不存在(即参数为null)或不执行 逗号仍会保存 与后面语句衔接 导致逗号多余 报错
二、使用set标签
1.语句中有if标签
<update id="update">
update tb_sale
<set>
<if test="saleVip!=null and saleVip!=''">
sale_vip =#{saleVip},
</if>
</set>
where sale_id=#{saleId}
</update>
优势:自动去除多余逗号 动态配置set关键字