mybatis批量更新的几种方式
来源:互联网 发布:彭德怀朝鲜战争知乎 编辑:程序博客网 时间:2024/06/05 10:32
1.第一种情况,使用for循环进行更新。
这种方式只能将指定Id的某一列的值设置为一样的。存在缺陷。
List<Person> persons = ....; for(Person person : persons){ update(person);}
这种方式更新,存在效率慢,没执行一次都需要获取一次数据库的连接,结束之后关闭,比较浪费资源。
2.第二种情况,更新某一列的值。
update table set column = #{value} where id in <foreach collection="list" index="index" item="item" separator="," open="(" close=")"> #{item.id}</foreach>
这种方式只能将指定Id的某一列的值设置为一样的。存在缺陷。
3.第三种情况,也是推荐使用的。
为不同的列设置不同的数据,数据量大时候批量更新使用。
<update id="batchUpdateMaterialPurchaseOrder" parameterType="java.util.List"> update tpmc_material_purchase_order t <trim prefix="set" suffixOverrides=",">//update的set关键字 <trim prefix="sys_remark =case" suffix="end,">//指定需要更新的列名,以","作为后缀 <foreach collection="list" item="item" index="index"> <if test="item.sysRemark !=null and item.sysRemark != ''">//判断参数是否为空 when t.id=#{item.id} then #{item.sysRemark} </if> </foreach> </trim> <trim prefix="review_status =case" suffix="end,"> <foreach collection="list" item="item" index="index"> <if test="item.reviewStatus !=null and item.reviewStatus != ''"> when t.id=#{item.id} then #{item.reviewStatus} </if> </foreach> </trim> <trim prefix="purchase_id =case" suffix="end,"> <foreach collection="list" item="item" index="index"> <if test="item.purchaseId !=null and item.purchaseId != ''"> when t.id=#{item.id} then #{item.purchaseId} </if> </foreach> </trim> </trim> where id in <foreach collection="list" index="index" item="item" separator="," open="(" close=")"> #{item.id} </foreach> </update>
阅读全文
0 0
- mybatis批量更新的几种方式
- mybatis批量更新的两种实现方式
- Mybatis的批量更新
- Mybatis的批量更新
- mybatis 批量的更新
- mybatis 的批量更新
- MyBatis的批量更新
- Mybatis使用注解的方式CRUD包括批量插入更新
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- MyBatis的几种批量操作
- 会产生线程冲突的多线程写法与改造,给厕所加个锁
- Android解惑
- inherited member not allowed
- C#简化switch多条件情况——键值对的初理解
- Android:软键盘弹出配合界面效果脱坑
- mybatis批量更新的几种方式
- Spring官网下载各版本jar包
- Python基础学习随笔一
- C++刷题笔记(一)
- Not found batch_norm/moving_mean/... , batch_norm/moving_variance/... in checkpoint at eval
- 装饰器
- Scala简单单机actorwordcount
- jquery datagrid 页面加载过慢
- 微信小程序获取scope中权限管理