MyBatis框架主要通过标签的配合使用实现SQL语句的动态拼接、前后缀格式化处理、复杂参数处理等功能。
if标签是MyBatis框架动态SQL技术中重要且常用的标签之一,它所实现的功能与Java中的if语句基本相同,用法也很相似。
where标签的主要作用是对SQL语句中的where关键字进行简化处理。
otherwise 标签:
choose(when、otherwise)是一个组合标签,when otherwise 标签写在 choose 标签中。
当 when 标签中的 test 属性判断为 tue,就会执行它所包含的语句。
choose 中的多个 when 标签只会执行匹配成功的第一个,执行之后跳出 choose 标签
当所有的 when 标签中的 test 属性判断都为 false 时,进入 otherwise 标签。
item:遍历数组时,为数组或 Ust集合中的元素起的别名。
open:起始位置的拼接字符,表示in语句以"("左括号开始。close:结束位置的拼接字符,表示in语句以")"右括号结束。
Separator:元素之间的连接符,表示in语句中的元素之间以“,逗号连接。
Collection:参数名称。当参数为数组类型时,默认参数名为array。当参数类型为List集合时,默认参数名为ist。当参数类型为Map时,参数名为Map中集合元素所在键值对的 key。
prefix:前缀,可以自动对 trim 标签所包含的语句是否有返回值进行判断。如果有返回
值,则为 SQL 语句拼接相应前缀。
sufix:后缀,在 trim 标签包含的语句末尾拼接后缀。
suffxOverrides:忽略的后缀,忽略 trim 标签包含内容尾部指定的内容。
prefixOverrides:忽略的前缀,忽略 trim 标签内部首部指定的内容。