4.3 where、set、trim 标签用法
where 标签
where 标签的作用:
如果该标签包含的元素中有返回值,就插入一个where;
如果where后面的字符串是以AND和OR开头的,就将它们剔除。
set 标签
set 标签的作用:
如果该标签包含的元素中有返回值,就插入一个set;
如果set后面的字符串是以逗号结尾的,就将这个逗号剔除。
set 标签主要用在update语句中,作用和where标签类似,可以参考where标签的使用案例。
trim 标签
where 和 set 标签的功能都可以用trim 标签来实现,并且在底层就是通过TrimSqlNode实现的。
trim标签有如下属性:
prefix:当trim元素内包含内容时,会给内容增加prefix指定的前缀。
prefixOverrides:当trim元素内包含内容时,会把内容中匹配的前缀字符串去掉。
suffix:当trim元素内包含内容时,会给内容增加suffix指定的后缀。
suffixOverrides:当trim元素内包含内容时,会把内容中匹配的后缀字符串去掉。
where 标签对应的trim 的实现如下:
为了避免匹配到andes、orders等单词,这里的AND和OR后面的空格不能省略。实际的prefixeOverrides包含“AND”、“OR”、“AND\n”、“OR\n”、“AND\r”、“OR\r”、“AND\t”、“OR\t”,不仅仅是上面提到的两个带空格的前缀。
set 标签对应的trim 实现如下:
Last updated