mybatis中trim的⽤法
使⽤过trim标签都知道trim标签有四个属性
1.prefix,prefixOverrides,suffix,suffixOverrides
本⼈⼀直对这四个标签的名字⽆法理解,并对其功能感到混乱。下⾯是⾃⼰思考后的⼀些总结:
trim标签使⽤
摩托车违章查询网1、trim 有四个属性清代民窑瓷器
2、prefix,suffix 表⽰在trim标签包裹的部分的前⾯或者后⾯添加内容(注意:是没有prefixOverrides,suffixOverrides的情况
下)
3、如果有prefixOverrides,suffixOverrides 表⽰覆盖Overrides中的内容。
4、如果只有prefixOverrides,suffixOverrides 表⽰删除。
例如:
<update id="testTrim" parameterType="batis.pojo.Ur">
update ur
<trim prefix="t" suffixOverrides=",">
<if test="cash!=null and cash!=''">cash=#{cash},</if>
<if test="address!=null and address!=''">address=#{address},</if>幽的成语
</trim>
<where>id =#{id}</where>琴叶榕好养吗
</update>
只有prefix=“t”,表⽰在trim包裹的部分的前⾯添加 t。
只有suffixOverrides=“,”,表⽰删除最后⼀个逗号。
恭宽信敏惠上例也可以写成
扒钉
<update id="testTrim" parameterType="batis.pojo.Ur">
update ur
t
<trim suffixOverrides="," suffix="where id = #{id}">
<if test="cash!=null and cash!=''">cash=#{cash},</if>
<if test="address!=null and address!=''">address=#{address},</if>
</trim>
</update>
个人感想由于t写在了外⾯,trim中就不再需要prefix属性了,所以删除。元丰六年
where标签从外⾯拿进trim⾥⾯,这样其实可以认为是将最后⼀个逗号”,”替换成了where id = #{id}。所以suffix和suffixOverrides⼀起使⽤。
总结:
TRIM标签的prefix/suffix属性:如果trim后内容不为空,则增加某某字符串(作前缀/后缀);
TRIM标签的prefixOverrides/suffixOverrides属性:如果trim后内容不为空,则删掉(前缀/后缀的)某某字符串。