mybatis 多字段、多表批量更新,判断条件也批量改变
2017-04-28 15:32
573 查看
<update id="updateDb2" parameterType="list">
update profile_factory_information info
LEFT JOIN basic_org_user buser ON buser.userId = info.userId
<trim prefix="set" suffixOverrides=",">
<trim prefix="company =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.company!=null">
<!-- 需要更新的字段company-->
when buser.mobile=#{item.mobile} then #{item.company}
</if>
</foreach>
</trim>
<trim prefix=" classify =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.classify!=null"> <!-- 需要更新的字段classify-->
when buser.mobile=#{item.mobile} then #{item.classify}
</if>
</foreach>
</trim>
<trim prefix=" userName =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.userName!=null"> <!-- 需要更新的字段userName-->
when buser.mobile=#{item.mobile} then #{item.userName}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="item" index="index" >
buser.mobile=#{item.mobile} <!-- 判断条件mobile-->
</foreach>
</update>
update profile_factory_information info
LEFT JOIN basic_org_user buser ON buser.userId = info.userId
<trim prefix="set" suffixOverrides=",">
<trim prefix="company =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.company!=null">
<!-- 需要更新的字段company-->
when buser.mobile=#{item.mobile} then #{item.company}
</if>
</foreach>
</trim>
<trim prefix=" classify =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.classify!=null"> <!-- 需要更新的字段classify-->
when buser.mobile=#{item.mobile} then #{item.classify}
</if>
</foreach>
</trim>
<trim prefix=" userName =case" suffix="end,">
<foreach collection="list" item="item" index="index">
<if test="item.userName!=null"> <!-- 需要更新的字段userName-->
when buser.mobile=#{item.mobile} then #{item.userName}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="item" index="index" >
buser.mobile=#{item.mobile} <!-- 判断条件mobile-->
</foreach>
</update>
相关文章推荐
- SQL根据条件批量update更新字段案例
- oracle sql通过判断条件更新数据库某个字段的值内容
- mybatis批量添加,批量更新之前判断是否已经存在
- 功能总结--mysql、String字符串函数的应用及mybatis的批量更新不同字段
- 两个表字段之间的批量更新实现的是将a表中的a1 更换成b表中的b2,条件是a1 = b1,并且a1和b1都是唯一的。
- Mybatis多条件批量更新
- 如何批量更新表中一个字段里面某一部分内容
- 如何批量更新oracle库中时间型字段的日期部分
- SQL text字段的替换处理(无法批量更新,写法记录)
- 批量更新sql表某字段范围内的随机数
- 根据条件用一个表的字段,去更新另一个表的字段
- mybatis 批量更新
- 判断字段是否被更新 新旧数据写入Audit Log表中
- 判断字段是否被更新,新旧数据写入Audit Log表中
- Sqlserver触发器,一个表中有记录更新,根据特定条件判断是否插入另一个表中
- 关于ttx文件里面的字段定义改变以后对水晶报表的更新
- where条件中字段为空的判断
- SQL两表匹配,将A表的指定字段所有内容根据条件更新B表指定字段的所有内容
- 批量更新数据库所有表中字段的内容,中木马后的急救处理
- 关于System.in.read() && float字段的条件判断 && System.arraycopy(),Arrays.sort()