SpringBoot + mybatis 多字段更新(不爲空判斷)的解決辦法

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

發佈了16 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章