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.实体类对应的字段}) </foreach> </insert>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM