您的位置:首页 > 数据库

MyBatis动态SQL中trim标签的使用

2011-11-29 13:03 701 查看
My Batis 官方文档 对 动态SQL中使用trim标签的场景及效果介绍比较少。

事实上trim标签有点类似于replace效果。

trim 属性

prefix:前缀覆盖并增加其内容

suffix:后缀覆盖并增加其内容

prefixOverrides:前缀判断的条件

suffixOverrides:后缀判断的条件

比如:

select b.* from sys_menu b where 1 = 1

<trim suffix="WHERE" suffixOverrides="AND | OR">
<if test="id != null and id !='' ">
AND b.id =#{id}
</if>
<if test="name != null">
AND b.menu_name like #{name}
</if>
</trim>


最终sql打印为:

select b.* from sys_menu b where 1 = 1 AND b.menu_name like '' WHERE

从结果可以发现:

<trim suffix="WHERE" suffixOverrides="AND | OR">


suffix是针对符合suffixOverrides的SQL语句追加后缀suffix值。

总而言之:

<trim suffix="WHERE" suffixOverrides="AND | OR">


And sqlxxx

最终结果是:

And sqlxxx WHERE

我不是很确认这种用法的具体场景,但是,就目前mybatis的动态sql语句来看的话,很多标签都足够用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: