*在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);這樣就將“,”去掉了。