Mybatis(一)update动态SQL

 1 <update id="updateUser">
 2         UPDATE user_info SET
 3         <if test="gzhOpenId != null and gzhOpenId !=''">
 4             gzh_openid = #{gzhOpenId},
 5         </if>
 6         <if test="nickname != null and nickname != ''">
 7             nickname = #{nickname},
 8         </if>
 9         WHERE id = #{id}
10  </update>
  • 若查询条件全为空,SQL如下:
update user_info set where id =#{id}

这个SQL明显是错误的。

  • 若查询条件只有一个不是空
update user_info set nickname = #{nickname}, where id = #{id}

这个SQL明显也是错误的。

 

 

正确写法:

 1     <update id="updateUser">
 2         UPDATE user_info SET
 3         <if test="gzhOpenId != null and gzhOpenId !=''">
 4             gzh_openid = #{gzhOpenId},
 5         </if>
 6         <if test="nickname != null and nickname != ''">
 7             nickname = #{nickname},
 8         </if>
 9 
10         id = #{id}
11         WHERE id = #{id}
12     </update>

id = #{id} 可以最大程度的保证不出错

posted @ 2020-02-24 22:27  加油鸭Starry  阅读(...)  评论(...编辑  收藏