1.<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
prefix:在trim标签内sql语句加上前缀。
suffix:在trim标签内sql语句加上后缀。
suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。
prefixOverrides:指定去除多余的前缀内容
<insert id="insertSelective" parameterType="com.hph.entity.TeaEval">
insert into teaeval
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
Id,
</if>
<if test="classname != null">
className,
</if>
<if test="coursename != null">
courseName,
</if>
<if test="teachername != null">
teacherName,
</if>
<if test="teacherscore != null">
teacherScore,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="classname != null">
#{classname,jdbcType=VARCHAR},
</if>
<if test="coursename != null">
#{coursename,jdbcType=VARCHAR},
</if>
<if test="teachername != null">
#{teachername,jdbcType=VARCHAR},
</if>
<if test="teacherscore != null">
#{teacherscore,jdbcType=INTEGER},
</if>
</trim>
</insert>
执行的sql语句也许是这样的:insert into teaeval (id,classname,coursename,) values(1,软件2班,数据结构,);显然是错误的
指定之后语句就会变成insert into teaeval (
id,classname,coursename) values(1,软件2班,数据结构);这样就将“,”去掉了。
前缀也是一个道理这里就不说了。