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=","
的意思是最后一個去掉逗號