Mybaits动态SQL之set标签
set标签是用来管理set子句,它会把最后设值等式的逗号去除。
不使用set标签进行更新操作
如果name为空,这数据库中的name值也会被设置为空,而我们其实是不想修改name值。如果加上条件判断,则有sql语句错误的情况发生。因此我们需要set标签来管理。
<update id="updateUser1" parameterType="user">
update
t_user
set
name=#{name}
,age=#{age}
where
id = #{id}
</update>
使用set标签进行更新操作
<!-- set标签会帮我们截取最后一个“,” -->
<update id="updateUser2" parameterType="user">
update
t_user
<set>
<if test="name != null">
name = #{name},
</if>
<if test="age !=null and age > 0">
age = #{age},
</if>
</set>
where
id = #{id}
</update>
总结: