轉自》:https://blog.csdn.net/QQ727338622/article/details/84308020
0、背景
parameterType参数类型student是别名,里面的字段有id,name,age,sex被封装成bean对象,跟数据库中student表中字段一一对应,以下案例只为一个SQL语句。(初入SSM坑,请多多指教)
update student set name='aa',age=20,sex='男' where id=1;
- 1
1、prefix属性:在trim开始部分添加内容
例,在trim前面加上set
<update id="updateStudent2" parameterType="student">
update student
<trim prefix="set">
<if test="name!=null and name!=''">name=#{name},</if>
<if test="age!=null and age!=''">age=#{age},</if>
<if test="sex!=null and age!=''">sex=#{sex}</if>
</trim>
<where>id=#{id}</where>
</update>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2、suffix属性:在trim结束部分添加内容
例,在后面添加上where内容
<update id="updateStudent2" parameterType="student">
update student set
<trim suffix="where id=#{id}">
<if test="name!=null and name!=''">name=#{name},</if>
<if test="age!=null and age!=''">age=#{age},</if>
<if test="sex!=null and age!=''">sex=#{sex}</if>
</trim>
</update>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
3.prefixOverrides属性:去除trim开始部分的内容
例,删掉name前面的set
<update id="updateStudent2" parameterType="student">
update student set
<trim prefixOverrides="set" >
<if test="name!=null and name!=''">set name=#{name},</if>
<if test="age!=null and age!=''">age=#{age},</if>
<if test="sex!=null and age!=''">sex=#{sex}</if>
</trim>
<where>id=#{id}</where>
</update>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
4、suffixOverrides属性:去除trim结束部分的内容
例,删掉最后一个逗号
<update id="updateStudent2" parameterType="student">
update student set
<trim suffixOverrides=",">
<if test="name!=null and name!=''">name=#{name},</if>
<if test="age!=null and age!=''">age=#{age},</if>
<if test="sex!=null and age!=''">sex=#{sex},</if>
</trim>
<where>id=#{id}</where>
</update>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步