栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatisplus批量操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatisplus批量操作

最近做项目的时候有导入excel,excel行数超过万条,使用esayExcel解析的时候3000条导入一次数据库,使用mybatisPlus的savebatch语句,发现实际运行时候保存非常之慢,想着使用线程优化,发现还是慢;于是好奇下点开saveBatch追踪下源码,发现mybatisPlus的saveBatch竟然是这样:

这个本质和在xml写foreach没啥区别

于是开始想着查一下mybatis是不是有真正的批量,记录下mybatis批量:

1)在pom增加包:


    com.baomidou
    mybatis-plus-extension
    3.4.0

2)在mybatis配置中增加bean:

@Bean
public EasySqlInjector easySqlInjector() {
    return new EasySqlInjector();
}

3)增加injector:

public class EasySqlInjector extends DefaultSqlInjector {

    @Override
    public List getMethodList(Class mapperClass) {
        List methodList = super.getMethodList(mapperClass);
        methodList.add(new InsertBatchSomeColumn());
        return methodList;
    }

}

4)增加easybaseMapper继承basemapper:

public interface EasyBaseMapper extends BaseMapper {

    Integer insertBatchSomeColumn(List entityList);
}

5)修改mapper,继承刚刚的easybasemapper;mybatisplus是mapper继承basemapper,我们在步骤4用esaybasemapper继承了basemapper,所以业务mapper是拥有原来的所有特性:

public interface ProvinceXiechuMapper extends EasyBaseMapper

6)获取业务的list后,就可以直接调用新加的批量来实现了:

provinceXiechuMapper.insertBatchSomeColumn(insertProvinceXiechuList);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/981537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号