mybatis循环生成前后缀:mapper.xml的


*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);这样就将“,”去掉了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM