您的位置:首页 > 编程语言 > Java开发

java mybatis 之 mysqlmap 动态 sql 语句

2016-03-18 17:49 323 查看
mybatis 将 sql 语句以配置的方式与执行环境独立开来,以达到动态替换的效果。这种可配置式的 sql 语句比较灵活,sql 语句的 where 条件中当一个字段传入的字为空时可以不进行比较,这就是 <isNotEmpty> 标签的作用。

如:

上面的配置中,<isNotEmpty> 意即当某个字段不为空时,才进行比较。

<dynamic> 标签意即,where 里面的节点是动态的,它的作用在于: 第一个 <isNotEmpty> 字段前段不会添加 and,这样才不会发生 sql 语句的错误。

当所有字段都是 null 时,sql 语句会发生错误,因为 where 后面没有加入任何比较的条件语句了。

如何解决这种问题呢?可以将 <dynamic> 去掉,解决方案如下:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: