首尾删除与添加 ‹trim›

Exisi 2021-03-27 07:29:25
Categories: Tags:
  • <trim>通常用于在SQL语句中去除多余的空格和逗号。它可以根据传入的参数动态判断是否需要添加或去除内容。

 

  • trim前面加上set

示例

<update id="updateStudent" parameterType="student">

update student

<trim prefix="set">       

<if test="name!=null and name!=''">name=#{name},</if>       

<if test="age!=null and age!=''">age=#{age},</if>

<if test="sex!=null and age!=''">sex=#{sex}</if>

</trim>

<where>id=#{id}</where>

</update>

 

  • trim后面添加上where内容

示例

<update id="updateStudent" parameterType="student">

    update student set

    <trim suffix="where id=#{id}">

        <if test="name!=null and name!=''">name=#{name},</if>

        <if test="age!=null and age!=''">age=#{age},</if>

        <if test="sex!=null and age!=''">sex=#{sex}</if>

    </trim>

</update>

 

  • 删掉name前面的set

示例

<update id="updateStudent" parameterType="student">

update student set

<trim prefixOverrides="set" >

<if test="name!=null and name!=''">set name=#{name},</if>

<if test="age!=null and age!=''">age=#{age},</if>

<if test="sex!=null and age!=''">sex=#{sex}</if>

</trim>

     <where>id=#{id}</where>

</update>

 

删掉最后一个逗号

示例

<update id="updateStudent" parameterType="student">

    update student set

    <trim suffixOverrides=",">

        <if test="name!=null and name!=''">name=#{name},</if>

        <if test="age!=null and age!=''">age=#{age},</if>

        <if test="sex!=null and age!=''">sex=#{sex},</if>

    </trim>

     <where>id=#{id}</where>

</update>

 

属性

描述

prefixOverrides

去除<trim>前的部分的内容

prefix

<trim>前的部分添加语句

suffixOverrides

去除<trim>语句内结束部分的内容

suffix

<trim>语句内结束部分添加语句

<trim> 元素只有在其中包含至少一个子元素时才会生效。如果所有子元素都没有生效,则<trim>元素会被忽略。同时,在最后生成的SQL语句中,最后一个字段后面不应该有逗号,因此<trim>元素会自动移除最后一个字段后面的逗号。