直接上代码,代码如下
int init = 300;// 每隔300条循环一次 由于数据库的参数最多为2100个 init=2100/每次最多插入参数个数
int total = selectUserList.size();
//获取循环次数
int cycelTotal = total/init;
if (total % init != 0) {
cycelTotal += 1;
if (total < init) {
init = total;
}
}
for (int j = 0; j < cycelTotal; j++) {
for(int i = j*init;i < (j+1)*init && i < selectUserList.size();i++){
batchInsertMap = selectUserList.get(i);
batchInsertList.add(batchInsertMap);
}
}
在mybatis中通过foreach循环插入数据
测试结果
一秒钟插入2500条数据(请注意表索引)