trim标记是一个格式化的标记,可以完成select,update,insert语句的格式化操作。trim元素的主要功能有四个:
(1)可以在包含的内容前加上某些前缀,与之对应的属性是prefix;
(2)也可以在包含的内容后加上某写后缀,与之对应的属性是suffix;
(3)可以把包含内容的首部某些内容覆盖,即忽略,对应的属性是prefixOverrides
(4)也可以把包含内容的尾部的某些内容覆盖,对应的属性是suffixOverrides。
以下举例说明一下trim元素的应用场景:
select * from user
AND name=#{name}
AND gender=#{gender}
假如说name和gender的值都不为null的话打印的SQL为:
select * from user where name = 'xx' and gender = 'xx'
where后不存在and,这是因为prefixOverrides="AND|OR"代表去掉第一个and或者是or。
update user
name=#{name} ,
gender=#{gender} ,
假如说name和gender的值都不为null的话打印的SQL为:
update user set name='xx', gender='xx' where id='x'
在gender='xx'后面不存在逗号,而且自动加了一个set前缀和where后缀。
INSERT INTO S_NOTICE
ID,
TITLE,
CONTENT,
NOTICE_STATUS,
CREATED_BY,
CREATED_TS,
LAST_UPD_BY,
LAST_UPD_TS,
SYS_GUID(),
#{title,jdbcType=VARCHAR},
#{content,jdbcType=VARCHAR},
#{noticeStatus,jdbcType=VARCHAR},
#{createdBy,jdbcType=VARCHAR},
systimestamp,
#{lastUpdBy,jdbcType=VARCHAR},
systimestamp,
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论