分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

mybatis 批量上传

发布时间:2023-09-06 02:29责任编辑:熊小新关键词:暂无标签
新建实体类
BatchModel ins=new BatchModel();
//把实体类装list里
List<BatchModel> batchModel = new ArrayList<>();
for (int i = 0; i < arr.size(); i++) {
???ArrayList<String> row = arr.get(i);
???ins.setA(subFileName);
???ins.setB(row.get(0));
???ins.setC(row.get(1));
???ins.setD(row.get(2));
???ins.setE(row.get(3));
batchModel.add(ins);
给实体类赋值
)
由于一些数据库的SQL对执行的SQL长度有限制,所以使用foreach元素的时候需要预估对象的长度

int partsize=80;//每次的数量
???????????int index=0;//第几条
???????????int iflg=0;//到几条
???????????int recordcont=batchModel.size();//获取总数量
//index<总数量 循环到需要的数量
???????????for(;index<=recordcont;index+=partsize){
??
???????????????iflg=(index+partsize)>=recordcont ? recordcont:(index+partsize);
???????????????programService.storagekufripackage(batchModel.subList(index,iflg));
???????????}
???????????if(recordcont-iflg>0){

???????????????programService.storagekufripackage(batchModel.subList(index,iflg)); //开始插入数据库
???????????}

//我用的 spring boot//   加入 @Param("param")注解

void test(@Param("param") List<BatchModel> batchModels);

//mybatis 里是sql

<insert id="test" parameterType="com.cck.model.auxiliary.test">
???insert into ods_groupstock_actual (
???filenames, rowno, typeclass,
???jan, feb, mar, apr,
???may, jun, jul, aug,
???sep, oct, nev, dec,
???total, upload_user
???)
???values
???<foreach collection="param" ?item="veh" separator=",">
???????(
???????#{veh.A},#{veh.P}, #{veh.B},
???????#{veh.C},#{veh.D}, #{veh.E}, #{veh.F},
???????#{veh.G},#{veh.H}, #{veh.I}, #{veh.J},
???????#{veh.K}, #{veh.L}, #{veh.M}, #{veh.N},
???????#{veh.O}, #{veh.Q}
???????)
???</foreach>
</insert>




mybatis 批量上传

原文地址:https://www.cnblogs.com/cjb1/p/10262259.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved