mybatis之批量处理

本文介绍了MyBatis中如何进行批量处理,强调了相比于循环操作的性能优势。通过示例展示了在Service和DAO层的方法定义,以及在MyBatis XML映射文件中的<foreach>标签使用。在遇到批量处理报错时,提示需要在数据库连接配置中启用批量处理支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

批量处理即对多条数据进行sql操作,如批量更新,插入,新增。

之前采取过很low的方式,就是在dao层进行循环,对每条数据进行操作。这样效果可以实现,但是频繁连接数据库,性能,效率上非常不好。mybatis支持参数为list的操作,这样连接数据库就一次,把循环的语句写入到sql语句中,这样效率会高很多。

如何引入mybatis这里不做描述。

先看service层方法如何写

service 接口层定义方法,如:Integer batchUpdate(List<OrderEntity> list);注:对订单进行批量更新

dao 层也同样顶一个接口,一般我都用同样的名字,拷贝起来比较方便,Integer batchUpdate(List<OrderEntity> list);

千万注意dao层接口是通过mabatis的xml找到真正的实现方式的。

service 实现层 ,public Integer batchUpdate (List<OrderEntity> list){

                             return  dao.batchUpdate (list);//调用dao层的接口,dao层的接口又会找到对应的mybatis的xml的sql语句

                            }

下面开始说重点,就是mybatis的xml里怎么写的

<update id="batchUpdate " parameterType="java.util.List">

    <foreach collection="list" i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值