Mybatis中标签

何为<trim>标签呢?

我所理解的Mybatis中的<trim>标签主要有几个特点:
1、去除sql语句中多的者关键字 “,” 以及 and。
2、拼接"where",“set”,“values(” 等前缀
3、拼接")"等后缀

<trim>标签的几个属性:

prefix:在条件语句前需要加入的内容,也就是给sql拼接的前缀。
suffix:在条件语句后需要加入的内容,sql拼接后缀
prefixOverrides:覆盖/去掉前一个前缀,比如 and 条件
suffixOverrides:覆盖/去掉后一个前缀

使用<trim>标签:

Mybatis中标签

例子中:
1、prefix:代表拼接一个where前缀
2、suffixOverrides: 代表去除多余的逗号 “,”
3、prefixOverrides:去除sql语句前面的关键字"and"
如果未使用<trim>标签的话,sql语句就会变成

Mybatis中标签

直接在where 限制条件后面拼接 and关键字,这样就会SQL报错了。所以才要使用这个标签。当然也有比较笨的方法,比如这样写:Mybatis中标签
加一个恒等式,这样也不会报错,但是可移植性就不是那么好了。既然有这个功能的标签,还是学习一下使用比较好~