update语句不可以像select一句一样,set的第一个条件不可以使用1=1
这里我使用的是<trim>标签
实例
<update id="businessUpdateMenu" >
update e_store_menu
<trim prefix="set" prefixOverrides=",">
<if test="state!=null and state!=0">
,state = #{state}
</if>
<if test="number!=null">
,number = #{number}
</if>
<if test="price!=null">
,price = #{price}
</if>
<if test="discount!=null">
,discount=#{discount}
</if>
</trim>
where id = #{id}
</update>
prefix 此处作用:若trim标签内存在内容,则在开头加入"set"
prefixOverrides 此处作用:删除条件开头的","
这样无论要修改的这四个字段怎么变化,sql都可以正常执行(一个没有除外)