MyBatis

MyBatis常用动态标签

1、if

2.choose、when、otherwise

        choose标签是按顺序判断其内部when标签中的test条件是否成立,如果有一个成立,则choose结束;如果所有的when条件都不满足时,则执行otherwise中的SQL。类似于java的switch语句。

3.where

4.set

5.trim

        trim标签可实现where/set标签的功能

        prefix:表示在trim标签包裹的SQL前添加指定内容

        suffix:表示在trim标签包裹的SQL末尾添加指定内容

        prefixOverrides:表示去掉(覆盖)trim标签包裹的SQL指定首部内容,去掉多个内容写法为and |or(中间空格不能省略)(一般用于if判断时去掉多余的AND |OR)

        suffixOverrides:表示去掉(覆盖)trim标签包裹的SQL指定尾部内容(一般用于update语句if判断时去掉多余的逗号)

6.foreach

        collection:迭代集合的名称,可以使用@Param注解指定,该参数为必选(java入参,相对于#{listName})

        item:表示本次迭代获取的元素,若collection为List、Set或数组,则表示其中元素;若collection为Map,则代表key-value的value,该参数为必选

        index:在List、Set和数组中,index表示当前迭代的位置,在Map中,index指元素的key,该参数是可选项

        open:表示该语句以什么开始,最常使用的是左括弧”(”,MyBatis会将该字符拼接到foreach标签包裹的SQL语句之前,并且只拼接一次,该参数是可选项

        close:表示该语句以什么结束,最常使用的是右括弧”)”,MyBatis会将该字符拼接到foreach标签包裹的SQL语句末尾,该参数是可选项

        separator:MyBatis会在每次迭代后给SQL语句添加上separator属性指定的字符,该参数是可选项

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容