set 子句.有如下功能:
a) 如果有条件满足, 会添加 set 关键字并执行sql语句
b) 如果第一个条件中有逗号,但后续的条件没有满足的,会自动去尾部逗号。
c) 如果修改条件都不满足就不生产set语句,出现错误,可以使用在set中添加id=#{id}来避免错误
<update id="updUser" parameterType="User">
update tb_user
<!--set 用于配合if用于管理
set 子句.有如下功能:
a) 如果有条件满足, 会添加 set 关键字并执行sql语句
b) 如果第一个条件中有逗号,但后续的条件没有满足的,会自动去尾部逗号。
c) 如果修改条件都不满足就不生产set语句,出现错误,可以使用在set中添加id=#{id}来避免错误
-->
<set>
id=#{id}
<if test="username != null and username !=''">
username = #{username},
</if>
<if test="password != null and password !=''">
password = #{password},
</if>
</set>
where id =#{id}
</update>
测试1:结果:修改了id为2的用户信息
测试2:只修改密码
测试3:没有任何修改参数,为了维护代码的健壮性,以及防止出错,在最上面的代码里已经写明了
如果修改条件都不满足就不生产set语句,出现错误,可以使用在set中添加id=#{id}来避免错误