MyBatis解决Update动态SQL逗号的问题

 最做项目遇到以下情况,MyBatis中需要动态拼接Update,由于之前忙着赶项目,就直接照着下面的这样写,结果发现系统出现了异常,原来这样写如果 id=null就会出错
UPDATE     TABLE
         SET   
       
        id= #{id,jdbcType=INTEGER}

       

      

        ,name = #{name,jdbcType=VARCHAR}

     

where id = #{id,jdbcType=INTEGER}


于是我查阅了网上的Mybatis的API和官方文档,找到了如下解决办法

UPDATE     TABLE
         
       
        id= #{id,jdbcType=INTEGER},
       

      
        name = #{name,jdbcType=VARCHAR},
     
     
where id = #{id,jdbcType=INTEGER}

节点标签:

trim主要功能是可以在Trim包含的内容前加上某些前缀(prefix),也可以在Trim包含的内容之后加上某些后缀(suffix)

                        还可以把Trim包含内容的首部的某些内容忽略掉(prefixOverrides) ,也可以把Trim包含的内容的尾部的某些内容忽略掉(suffixOverrides)

 

这行代码的意思是:在前面加上set  去掉最后的逗号!!!


备注方法2:把更新条件标签内的内容,放在标签中

你可能感兴趣的:(mybatis)