2 UPDATE user_info" />
亲宝软件园·资讯

展开

Mybatis随记(一)update动态SQL

致力于写bug的小仙女 人气:1
 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} 可以最大程度的保证不出错

加载全部内容

相关教程
猜你喜欢
用户评论