Java mybatis实现mysql批量插入

记录下来方便自己,同时也希望能对比较迷惑的小盆友有所帮助

1.把批量插入的数据生成一个List集合

2.用java控制一次插入的条数和集合

    // 每次插入10条
            int len = count, incremnet = 10;
            //计算需要循环的次数
            int con = len % 10 == 0 ? len / 10 : len / 10 + 1;
            for (int i = 0; i < con; i++) {
                //当前条数
                int curr = i * incremnet;
                //声明空的集合
                List<ShopOrderItem> listItems = new ArrayList<ShopOrderItem>();
                if (len - curr > incremnet) {
                    //获取插入的集合
                    listItems = listOrderItem.subList(curr, curr + incremnet);
                    //执行插入
                    shopOrderItemMapper.insertOrderByBatch(listItems);
                } else {
                    listItems = listOrderItem.subList(curr, len);
                    shopOrderItemMapper.insertOrderByBatch(listItems);
                }
            }

3.mybatis实现批量插入

int insertCustomerMachineByBatch(@Param("list") List<CustomerVirtualMachine> list);

<insert id="insertCustomerMachineByBatch"> insert into 表名(注意是不带主键的其他列) values <foreach collection="list" separator="," item="i"> (#{i.实体类对应的字段1},#{i.实体类对应的字段2}) </foreach> </insert>
原文地址:https://www.cnblogs.com/ly-gaoshuaige/p/11018697.html