記錄下來方便自己,同時也希望能對比較迷惑的小盆友有所幫助
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>