1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
prefix:
在trim标签内sql语句加上前缀。
suffix:
在trim标签内sql语句加上后缀。
suffixOverrides:
指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。
prefixOverrides:
指定去除多余的前缀内容
案例:插入实体类的数据
<insert id="insertSportOrderMain" parameterType="BwSportOrderMain" useGeneratedKeys="true" keyProperty="id">
insert into bw_sport_order_main
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="fillDepartment != null">fill_department,</if>
<if test="fillBy != null">fill_by,</if>
<if test="fillDate != null">fill_date,</if>
<if test="bizNumber != null">biz_number,</if>
<if test="sysDate != null">sys_date,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="fillDepartment != null">#{fillDepartment},</if>
<if test="fillBy != null">#{fillBy},</if>
<if test="fillDate != null">#{fillDate},</if>
<if test="bizNumber != null">#{bizNumber},</if>
<if test="sysDate != null">#{sysDate},</if>
</trim>
</insert>
假设没有指定
suffixOverrides=","
执行的sql语句也许是这样的:
insert into 表(fill_department,fill_by,fill_date,) values(1,2,1,);显然是错误的
指定之后语句就会变成insert into 表(fill_department,fill_by,fill_date) values(1,2,1);
这样就将“,”去掉了。