mybatis if标签中test可以写什么_今天就带兄弟们了解一下MyBatis中的所有动态SQL

  • Post author:
  • Post category:其他


MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。

一、if标签

此时如果CNAINDCLABASINFID为null,此语句很可能报错或查询结果为空。此时我们使用if动态sql语句先进行判断,如果值为null或等于空字符串,我们就不进行此条件的判断,增加灵活性。

   com.CNAINDCLABASINFID = #{industryNum}         and bas.id = #{id}         and bas.PROJECT_NAME = #{projectName}   

二、if + where 条件判断

   com.CNAINDCLABASINFID = #{industryNum}         and bas.id = #{id}         and bas.PROJECT_NAME = #{projectName}   

三、if + set 更新语句

当update语句中没有使用if标签时,如果有一个参数为null,都会导致错误。

当在update语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的配置SET 关键字,和剔除追加到条件末尾的任何不相关的逗号。如果set包含的内容为空的话则会出错。

使用if+set标签修改后,如果某项为null则不进行更新,而是保持数据库原值。如下示例:<



版权声明:本文为weixin_39611049原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。