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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM