MyBatis 常用标签简单总结
- if 标签:类似于 Java 中的 if 语句
- where标签:根据查询条件是否存在,来决定是否生成 where 字符串
- set标签:根据查询条件是否存在,来决定是否生成 where 字符串
- choose when otherwise标签组合:和 Java 中 switch case 作用类似,不管有多少条件满足,只拼接其中一个条件
- trim标签:是一个用于格式化的标签,可以完成set或者是where标记的功能,如下代码:
- prefix:追加前缀
- prefixoverride:去掉第一个符合条件的后缀
- suffixoverride:去掉最后一个符合条件的后缀
- suffix:追加后缀
- foreach标签:类似于 Java 中的 foreach 迭代,把传入 sql 语句中的数组类型或集合类型数据进行遍历操作。
- collection: foreach的对象,作为入参,对象为list、array时,collection属性值分别默认用"list"、"array"代替,Map对象没有默认的属性值。但是,在作为入参时可以使用@Param(“name”)注解来设置自定义collection属性值,设置name后,list、array会失效;
- item: 集合元素迭代时的别名称,该参数为必选项;
- open: 遍历集合时的开始符号,通常与close=")"搭配使用。使用场景IN(),values()时,该参数为可选项;
- separator: 元素之间的分隔符,类比在IN()的时候,separator=",",最终所有遍历的元素将会以设定的(,)逗号符号隔开,该参数为可选项;
- close: 遍历集合时的结束符号,通常与open="("搭配使用,该参数为可选项;
- index: 在list、array中,index为元素的序号索引。但是在Map中,index为遍历元素的key值,该参数为可选项;