1、MyBatis suffixOverrides 介绍

suffixOverrides 用于去掉sql后面多余的关键字或者字符。

2、suffix 和 suffixOverrides 使用场景介绍

update t_users 
<trim prefix="set" suffixOverrides="," suffix=" where id = #{id} ">
  <if test="name != null and name.length() > 0"> name=#{name}, </if>
  <if test="gender != null and gender.length() > 0"> gender=#{gender},  </if>
</trim>

假如name和gender的值都不为null,打印出的SQL为:

update t_users set name = ? , gender = ?  where id = ?

trim 标签的作用是:在 gender = ? 后面裁剪了逗号,而且自动加了一个 set 前缀和 where 后缀。

3、提醒

suffix 是给整个字符串增加一个后缀,而 suffixOverrides 则是去掉整个字符串后面多余的字符。

4、参考

http://www.mybatis.cn/mybatis/53.html

标签: none

添加新评论