SpringBoot + mybatis 多字段更新(不为空判断)的解决办法
需求:在多个字段需要更新时,需要判断字段是否为空,为空的字段无需更新
解决办法:
在Mapper文件中使用trim 代替 if,如下
<update id="updateUserById" parameterType="com.example.demo.entity.UserEntity">
UPDATE user
<trim prefix="set" suffixOverrides=",">
<if test="userName != null"> userName = #{userName},</if>
<if test="UpdateTime != null"> UpdateTime = #{UpdateTime },</if>
<if test="userPassword != null"> userPassword = #{password},</if>
<if test="status != null"> status = #{status},</if>
</trim>
WHERE id = #{id,jdbcType=VARCHAR}
</update>
将set标签换成·<trim prefix="set"></tirm>
标签中suffixOverrides=","
的意思是最后一个去掉逗号