Mybatis随记(一)update动态SQL
致力于写bug的小仙女 人气:11 <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} 可以最大程度的保证不出错
加载全部内容