MyBatis-Plus|MyBatis-Plus 批量插入数据的操作方法
spring boot+mybatis plus环境,单条插入用的是BaseMapper自带的insert方法
public ApiResult addAnc(Anc anc) {ApiResult result = new ApiResult(); Integer insert = ancMapper.insert(anc); if (insert < 1) {return result.failed("发布失败,请联系管理员"); }return result.success(anc);
BaseMapper未提供批量插入接口,但是在
com.baomidou.mybatisplus.service.IService
中提供了/*** * 插入(批量),该方法不适合 Oracle*
** @param entityList 实体对象列表* @return boolean*/boolean insertBatch(ListentityList); /*** 【MyBatis-Plus|MyBatis-Plus 批量插入数据的操作方法】* 插入(批量)*
** @param entityList 实体对象列表* @param batchSize插入批次数量* @return boolean*/boolean insertBatch(ListentityList, int batchSize);
使用方法,定义一个自己的接口,继承
IService
,泛型为被操作实体类@ServicepublicinterfaceWorkIService extends IService{}
定义一个实现类,实现上诉接口
@Servicepublic class WorkIServiceImpl extends ServiceImplimplements WorkIService{}
其中
WorkMapper
为正常操作的mapper在业务中测试批量插入操作
ListentityList = new ArrayList<>(1000); for (int i=1; i<10000; i++){CmpWork work = new CmpWork(); work.setWorkName("workNametestBatch"+i); work.setWorkID("testBatch"+i); work.setCreTm(DateUtil.dateToYMDHMS(new Date())); entityList.add(work); }boolean b = workIService.insertBatch(entityList);
和单条插入的执行对比了一下,在1000条数据级别内,差别不大,批量操作的优势可能大数据环境下才能显现吧
到此这篇关于MyBatis-Plus 批量插入的文章就介绍到这了,更多相关MyBatis-Plus 批量插入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Arcgis根据经纬度批量提取属性值
- 【排序】插入排序算法
- 批量获取win10的聚焦锁屏图片
- 2020-08-13|2020-08-13 同花顺证书批量下载
- Metal|Metal 案例03(大批量顶点数据的图形渲染)
- Vue+jszip+file-saver|Vue+jszip+file-saver 实现el-table中qrcode生成的二维码图片批量打包成zip下载
- Jquery表单序列化json+批量判断是否为空
- 十二种排序(冒泡、插入、归并、快速排序等包含希尔和计数排序)
- 使用Mysql|使用Mysql 存储过程,批量插入100万条数据
- 冒泡排序、插入排序、快速排序、堆排序、归并排序总结