博为峰JavaEE技术文章 ——MyBatis <choose>标签使用方法

在学习了标签中使用时,只要test中的表达式为 true,就会执行 if 标签中的条件,并且会拼接到where语句后。但是,有时候我们并不想使用所有条件,也许只想从多个选项中选择一个而已。这个时候再使用标签已经不够,MyBatis提供了choose 标签。标签之间的关系是与(and)的关系,而标签之间是或(or)的关系。

标签按顺序逐个判断内部标签的test条件出否成立,如果遇到一个条件成立,则结束。当中所有的条件都不成立时,则会执行中的语句。类似于Java的switch 语句,为switch,为case,则为default。

小博老师给大家演示下如何使用标签。先回顾下昨天的Mapper文件内容:

如果用标签表示,内容如下:

两者的区别在于,如果userName与userId同时不为空,只会按照userName的条件查询,忽略userId条件。而会把两个条件拼接起来一起查询。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容