日期:2014-05-17  浏览次数:20592 次

ibatis 相关

<update id="UPDATE_SON_TASK_INFO_BYMAP" parameterClass="java.util.Map">
update lckz_son_task t set 
 <isNotEmpty property="id">
t.id=#id#
</isNotEmpty>
<isNotEmpty prepend="," property="status">
t.status=#status#
</isNotEmpty>
 where t.son_task_id=#sonTaskID#
</update>

假设有这么一段语句,如何能保证当id为空时语法正确,因为当id为空时,status字段前会多出一个逗号,导致语句出错。

请问有上面方法能防止上述情况发生,谢谢

------解决方案--------------------

<update id="UPDATE_SON_TASK_INFO_BYMAP" parameterClass="java.util.Map">
        update lckz_son_task t
        <dynamic prepend="set">  
         <isNotEmpty prepend="," property="id">
            t.id=#id#
        </isNotEmpty>
        <isNotEmpty prepend="," property="status">
            t.status=#status#
        </isNotEmpty>
      </dynamic>   
         where t.son_task_id=#sonTaskID#
    </update>