记录下来方便自己,同时也希望能对比较迷惑的小盆友有所帮助
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>