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 版权协议,转载请附上原文出处链接和本声明。