mapper.xml的<trim></trim>

*mapper.xml中<trim prefix="(" suffix=")" suffixOverrides="," prefixOverrides=""></trim>

prefix:在trim标签内sql语句加上前缀。

suffix:在trim标签内sql语句加上后缀。

suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。

prefixOverrides:指定去除多余的前缀内容

 1   <insert id="insert" parameterType="com.xxx.entity.Cart">  2  insert into cart  3 <trim prefix="(" suffix=")" suffixOverrides=",">  4 <if test="id != null">  5  id,  6 </if>  7 <if test="userId != null">  8  user_id,  9 </if> 10 </trim> 11 <trim prefix="values (" suffix=")" suffixOverrides=","> 12 <if test="id != null"> 13 #{id,jdbcType=BIGINT}, 14 </if> 15 <if test="userId != null"> 16 #{userId,jdbcType=BIGINT}, 17 </if> 18 </trim> 19   </insert> 

假设没有指定suffixOverrides=","  

执行的sql语句也许是这样的:insert into cart (id,user_id,) values(1,2,);显然是错误的

指定之后语句就会变成insert into cart (id,user_id) values(1,2);这样就将“,”去掉了。

相关文章